augustss@chalmers.UUCP (Lennart Augustsson) (03/02/85)
[] Problem: cc68 in SUMacC (version 2.0 11/84) compiles some structure assignments wrong. (No, this is not the same bug as in the first SUMacC distribution.) Repeat-by: Compile the following program: struct aa { short s; struct aa *p; }; main() { register struct aa *q; *q = *q->p; } The code for the assignment will be (with q in a5): movl a5@(4),a5@(2) movw a5@(2),a5@ which is clearly *wrong*. Fix: Sorry, I don't have the source (yet), so I can't fix it. Temporary fix: Don't use register variables. Without q in a register correct code is generated. -- Any resemblance of the opinions above to real opinions, living or dead, is purely coincidential. Lennart Augustsson {seismo,philabs,decvax}!mcvax!enea!chalmers!augustss