



Multiple assignment involving pointer arithmetic doesn't work.
For example: Both bytes are being set to 4 (presumably Pointer-1) rather than
to $27. This occurs only in Strict mode. The problem appears to be that the
Strict mode array bounds check thinks it can clobber the contents of
TEMP1, which in this case is already holding the constant $27. Or, possibly, that the multiple
assignment code generation thinks TEMP1 is a safe location to store the
assigned value, which isn't true here. None submitted (but an easy workaround is to use two separate assignments).
About Patches
Issue C62127
Multiple assignment involving arrays
Submitted by: Roger Firth
Appeared in: Compiler 6.21 or before
Fixed in: Compiler 6.30
Problem
theString->0 = theString->(Pointer-1) = $27;
Update (by David Kinder)
Solution
Last updated 2 May 2008. The librarian in charge of this page is Roger Firth. Please email any comments, suggestions or corrections to roger@firthworks.com.