correct it,DevCPC486.ConvMoveIvan Denisov wrote:This is leading to redefining of many negative constants... and the Kernel compilation error.luowy wrote:need free registers,DevCPC486.ConvMove
I agree with Josef, that we can not change compiler in the release candidate stage.
Code: Select all
ELSE
(*y.form := f;*)
IF m = Stk THEN
y.form := f;
IF ((f < Int32) OR (f = Char16)) & (y.mode # Reg) THEN LoadW(y, hint, stop) END;
Push(y)
ELSIF m # Undef THEN
y.form := f;
IF f = Int64 THEN
IF y.mode # Reg THEN LoadLong(y, hint, stop) END;
Free(y); y.form := Int32; z := x; z.form := Int32; DevCPL486.GenMove(y, z);
IF z.mode = Reg THEN ASSERT(z.reg # y.index); z.reg := z.index ELSE INC(z.offset, 4) END;
y.reg := y.index; DevCPL486.GenMove(y, z);
ELSE
IF y.mode # Reg THEN LoadW(y, hint, stop) END;
Free(y); DevCPL486.GenMove(y, x)
END
ELSIF (y.mode = Stk) & (y.form = Int64) & (f = Int32 )THEN (*SHORT(ENTIER(real))*)
LoadLong(y, hint, stop);
y.form := f; z:=y; z.reg:=z.index; Free(z);
ELSE
y.form := f
END
END
END
END ConvMove;