



Because of a bug in parsing assembly, it's difficult to specify
negative constants in assembly operations. For example, if you write the compiler will tell you that it found an unexpected expression.
What's really going on here is that it's misinterpreting 4(-1) as a
function call. Although you could work around this by using $ffff
instead of -1, that makes the code less readable. At about line 1315 of expressp.c, change the assignment to
"array_init_ambiguity" to read:
About Patches
Issue C62119
Negative constants in assembly
Submitted by: Daniel Schepler
Appeared in: Compiler 6.21 or before
Fixed in: Compiler 6.30
Problem
@set_colour 4 (-1);
Solution
array_init_ambiguity = ((context == ARRAY_CONTEXT) ||
(context == ASSEMBLY_CONTEXT));
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.