summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/cmd/6c/sgen.c3
-rw-r--r--sys/src/cmd/8c/sgen.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/src/cmd/6c/sgen.c b/sys/src/cmd/6c/sgen.c
index 14e5f3c7e..fa5df6634 100644
--- a/sys/src/cmd/6c/sgen.c
+++ b/sys/src/cmd/6c/sgen.c
@@ -105,7 +105,8 @@ xcom(Node *n)
case OADD:
xcom(l);
xcom(r);
- if(n->type->etype != TIND)
+ if(n->type->etype != TIND &&
+ !(l->type->etype == TIND && r->type->etype == TIND))
break;
switch(r->addable) {
diff --git a/sys/src/cmd/8c/sgen.c b/sys/src/cmd/8c/sgen.c
index 6fc0ffba7..1c9527b17 100644
--- a/sys/src/cmd/8c/sgen.c
+++ b/sys/src/cmd/8c/sgen.c
@@ -112,7 +112,8 @@ xcom(Node *n)
case OADD:
xcom(l);
xcom(r);
- if(n->type->etype != TIND)
+ if(n->type->etype != TIND &&
+ !(l->type->etype == TIND && r->type->etype == TIND))
break;
switch(r->addable) {