]> git.lizzy.rs Git - plan9front.git/commitdiff
6c, 8c: Fix nocast cast bug which prevents address arithmetic from being computed...
authorspew <devnull@localhost>
Mon, 28 May 2018 23:38:33 +0000 (19:38 -0400)
committerspew <devnull@localhost>
Mon, 28 May 2018 23:38:33 +0000 (19:38 -0400)
sys/src/cmd/6c/sgen.c
sys/src/cmd/8c/sgen.c

index 14e5f3c7e289de940f42d3d4e371803ef28a8505..fa5df663454aeb7fbd0a811126dde6ecb24785cd 100644 (file)
@@ -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) {
index 6fc0ffba71b7a944d6045d4e7a5d5938086e5ef9..1c9527b17e72e05aba46a7bcd95c5113af25bb0e 100644 (file)
@@ -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) {