You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Computing a variable range set uses I12 which contains the file pointer for the I/O routines but write(...) processing overwrites the register usage map and doesn't restore the file pointer to I12 after computing the expression.
Therefore, writeln('some string', value IN [low..high]); skips the Boolean or crashes.
A fix should maintain the existing optimization of write(a, b, c, d); not setting I12 before each item because the write routines themselves do not corrupt the file pointer.
The text was updated successfully, but these errors were encountered:
Computing a variable range set uses I12 which contains the file pointer for the I/O routines but
write(...)
processing overwrites the register usage map and doesn't restore the file pointer to I12 after computing the expression.Therefore,
writeln('some string', value IN [low..high]);
skips the Boolean or crashes.A fix should maintain the existing optimization of
write(a, b, c, d);
not setting I12 before each item because the write routines themselves do not corrupt the file pointer.The text was updated successfully, but these errors were encountered: