On 27.01.2018 15:10, C Western wrote:
> The following innocuous looking code generates a range check error:
>
> {$R+}
> function Count: qword;
> begin
> Result := 0;
> end;
> var
> i: Integer;
> begin
> for i := 0 to Count-1 do
> WriteLn(i);
> end.
>
> I can (more or less) see why, but it means that I can't (for example)
> compile the Cocoa widget set in 64 bit with bounds checking on, as then
> qword seems to be used as a count for, for example, NSarray.
>
> Am I missing something?
Integer is 32-bit, QWord is 64-bit. *Of course* there is a range check
error then. You need to use e.g. SizeInt as counter variable type in
those cases (SizeInt is 32-bit on 32-bit systems and 64-bit on 64-bit
systems).
Regards,
Sven
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal