[fpc-devel] bug: Inc(v,i)/Dec(v,i)
Marco van de Voort
marcov at stack.nl
Fri Jul 8 11:52:02 CEST 2005
> Solution 1 of course would be:
>
> if delta < 0
> then dec ( v, -delta )
> else inc ( v, delta ) ;
inc(longint(v),delta);
> but that looks like a joke and not very optimal.
>
> Solution 2 would be the safe way (as I'm forced to do it now):
>
> v := v + delta ;
>
> I think the easiest solution to the whole problem would be to internally
> translate a "inc(v,d)" to "v := v + d", at least in {$r+,q+} checked code.
This doesn't fix the problem that you are mixing types. v:=v+d is flawed from
that perspective too, the compiler even complains
smbg.pp(9,7) Warning: Mixing signed expressions and longwords gives a 64bit result
on a line like
v:=v+-5;
More information about the fpc-devel
mailing list