[fpc-devel] Bug 4004
Gerhard Scholz
gs at g--s.de
Wed Jun 8 13:30:35 CEST 2005
...
> I'm not sure, at least
>
> > .L9:
> > movw %dx,-12(%ebp)
> > .Ll3:
>
> suggests that the target is not an integer, but instead is a (possibly
> unsigned) word type. Please check again!
...
This is the result of the compilation: "ppc386 tord -al" (shortened of
course).
Since "MOVW" moves 16-bit values, it does not matter if it's signed or not,
it just has to be 16 bit of something.
That "MOVW" occurs with range/overflow check on or off, doesn't matter.
The complete pascal program, as compiled by me:
{$R+}{$Q+}
program tord ;
function d(a,b:Char):Integer;
begin
d := integer(Ord(a))-Ord(b);
end;
var
i: Integer;
begin
i := Ord('0')-Ord('1');
WriteLn(i);
WriteLn(d('0','1'));
end.
Gerhard
More information about the fpc-devel
mailing list