[fpc-devel] Overflow checks differ between constants and variables
Martin Frb
lazarus at mfriebe.de
Mon Apr 21 08:29:10 CEST 2014
In the below example range and overflow checks are off.
The "a-b" line gives the result "2". (As expected after the overflow)
Doing the same operation with constants, does not compile, due to an
overflow error (despite $Q-). Why?
program Project1;
{$R-}{$Q-}
var a, b: qword;
begin
a := 1;
b := qword($ffffffffffffffff);
writeln(a-b);
writeln( qword(1) - qword($ffffffffffffffff) ); //
project1.lpr(7,21) Error: Overflow in arithmetic operation
readln;
end.
More information about the fpc-devel
mailing list