Josef Templ wrote:I would like to propose to resume the voting on this issue.
The proposed fix is simple and looks plausible and I was not able to find a better alternative.
- Josef
You can refer to my solution:DevCPC486.ConvMove
- Code: Select all
| Int32, Set, Pointer, ProcTyp:
IF xform = Char8 THEN CheckRange(y, 0, 255); FreeHi(y)
ELSIF xform = Char16 THEN CheckRange(y, 0, 65536);
ELSIF xform = Int8 THEN CheckRange(y, -128, 127); FreeHi(y)
ELSIF xform = Int16 THEN CheckRange(y, -32768, 32767)
ELSIF xform = Int64 THEN LoadLong(y, hint, stop)
ELSIF (y.form = Pointer)&(xform IN {Real32, Real64}) THEN y.form := Int32; (*add this line*)
END
this function is dedicated to transform different type in backend, first part is conversion, second part is movement, the fix is in the conversion part, is higher than DevCPL486.