Repository URL to install this package:
Version:
3.0.0 ▾
|
{ Source provided for Free Pascal Bug Report 4152 }
{ Submitted by "C Western" on 2005-07-03 }
{ e-mail: mftq75@dsl.pipex.com }
{R+}{Q+}
var
p:^Byte;
c:Byte;
d:Integer;
{$ifdef cpu64}
v : qword;
{$else}
v : cardinal;
{$endif}
begin
v:=100;
{$ifdef cpu32}
{ this gets translated into "v:=v+(-1)", and the compiler would require 128bit
arithmetic to calculate this when v is a qword and range checking is on }
inc(v,-1);
{$endif cpu32}
p:=@c;
Inc(p,-1); // Gives compile time error: range check error while evaluating constants
d:=2;
Inc(d,-1);
Inc(p,d); // This fails at run time
end.