summaryrefslogtreecommitdiff
path: root/6
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2018-01-22 23:20:07 -0800
committerOri Bernstein <ori@eigenstate.org>2018-01-22 23:21:07 -0800
commit2e258c1d7419c170acb950b6af3b3b924c856b2f (patch)
tree5795f8cc117f153416674bb51ead23580c3adb43 /6
parent6c25be8561ef1bda9eefaa4fe330dd9037d4c4ee (diff)
downloadmc-2e258c1d7419c170acb950b6af3b3b924c856b2f.tar.gz
Bring back old addresses, with a better explanation.
Diffstat (limited to '6')
-rw-r--r--6/simp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/6/simp.c b/6/simp.c
index 0a8e15f..730dda5 100644
--- a/6/simp.c
+++ b/6/simp.c
@@ -542,6 +542,15 @@ lval(Simp *s, Node *n)
case Ostruct: r = rval(s, n, NULL); break;
case Oucon: r = rval(s, n, NULL); break;
case Oarr: r = rval(s, n, NULL); break;
+
+ /*
+ not expressible as lvalues in syntax, but
+ we take their address in matches
+ */
+ case Oudata: r = rval(s, n, NULL); break;
+ case Outag: r = rval(s, n, NULL); break;
+ case Otupget: r = rval(s, n, NULL); break;
+
default:
fatal(n, "%s cannot be an lvalue", opstr[exprop(n)]);
break;