-
Correct a problem with statement expressions in that the last statement inside was incorrectly evaluated twice.
-
Alignment attribute is now properly obeyed on struct members.
-
Attributes on a record declaration is now applied to all variables being defined in record declaration.
-
Variable argument functions with the parameter before the
...passed in register could in some situations clobber the register. -
Volatile variables in a function that uses
setjmp()would not always preserve an assignment to it. -
An incomplete array at the end of a struct record is now properly initialized.
-
MEGA65: Correct a problem where conversion to a different pointed-to size of a 'far' or 'huge' pointer and using an index expression would result in incorrect index scaling.
-
MEGA65: Correct an internal error (labeling failed) that could occur when pushing a variable (or part of variable) held on the zero page as a pushed parameter.
-
6502: Fix an internal error
cannot hi (_Zp+N),ywhich could occur in combination with a 16-bit+=operator. -
6502: Format strings for
printfand such no longer perform PETSCII conversion on format fields inside string literals when using the--string-literaloption. Characters apart from the format fields are converted as before. -
65816: Correct a problem where conversion to a different pointed-to size of a 'far' or 'huge' pointer and using an index expression would result in incorrect index scaling.
-
65816: Fixed a problem with adjusting a
__farpointer with a negative constant index could cause incorrect address calculation. -
65816: Testing a 32-bit value against zero would in some situations clobber the value.