ref: 464235e458f9c68db974ee4fd34a9728fe09c5bd
parent: 9526e43a51595f081bfa0cc8b63d625ea785ff6d
author: Ori Bernstein <[email protected]>
date: Sun Nov 30 13:27:06 EST 2014
The lhs of += should be an lval.
--- a/6/simp.c
+++ b/6/simp.c
@@ -1327,7 +1327,7 @@
case Oaddeq: case Osubeq: case Omuleq: case Odiveq: case Omodeq:
case Oboreq: case Obandeq: case Obxoreq: case Obsleq: case Obsreq:
assert(fusedmap[exprop(n)] != Obad);
- u = rval(s, args[0], NULL);
+ u = lval(s, args[0]);
v = rval(s, args[1], NULL);
v = mkexpr(n->loc, fusedmap[exprop(n)], u, v, NULL);
v->expr.type = u->expr.type;