> shouldn't it implement inv(v,-1) in exactly the same way it implements > v:=v-1?
The problem is what type do you give to -1. In the old situation the -1 was converted to the same type as v -> longword. Resulting in $ffffffff. Adding the $ffffffff gives an overflow. Note that the compiler doesn't know that -1 is a negative value. Because it can also be a variable: d:=-1; inc(v,d); If you translate inc(v,-1) to v:=v+(-1) then the operation is done in 64bit mode. It is the only way to garauntee that there is no overflow but still a rangecheck for the result value. It should be solved now in the current svn trunk. _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
