shithub: mc

Download patch

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;