diff options
Diffstat (limited to 'src/cmd/5g')
-rw-r--r-- | src/cmd/5g/gg.h | 1 | ||||
-rw-r--r-- | src/cmd/5g/gsubr.c | 1 | ||||
-rw-r--r-- | src/cmd/5g/reg.c | 4 |
3 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/5g/gg.h b/src/cmd/5g/gg.h index 603c09fc8..ce4575be9 100644 --- a/src/cmd/5g/gg.h +++ b/src/cmd/5g/gg.h @@ -27,6 +27,7 @@ struct Addr uchar type; char name; char reg; + char pun; uchar etype; }; #define A ((Addr*)0) diff --git a/src/cmd/5g/gsubr.c b/src/cmd/5g/gsubr.c index 133a21b3e..83a9949d6 100644 --- a/src/cmd/5g/gsubr.c +++ b/src/cmd/5g/gsubr.c @@ -1168,6 +1168,7 @@ naddr(Node *n, Addr *a, int canemitcode) a->etype = simtype[n->type->etype]; a->width = n->type->width; } + a->pun = n->pun; a->offset = n->xoffset; a->sym = n->sym; if(a->sym == S) diff --git a/src/cmd/5g/reg.c b/src/cmd/5g/reg.c index f31f70535..1cbeb3e3d 100644 --- a/src/cmd/5g/reg.c +++ b/src/cmd/5g/reg.c @@ -697,8 +697,8 @@ mkvar(Reg *r, Adr *a) n = D_NONE; flag = 0; -// if(a->pun) -// flag = 1; + if(a->pun) + flag = 1; switch(t) { default: |