summaryrefslogtreecommitdiff
path: root/src/cmd/5g
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/5g')
-rw-r--r--src/cmd/5g/gg.h1
-rw-r--r--src/cmd/5g/gsubr.c1
-rw-r--r--src/cmd/5g/reg.c4
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: