diff options
author | Austin Clements <austin@google.com> | 2014-11-06 15:35:53 -0500 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2014-11-06 15:35:53 -0500 |
commit | 180e22421f97cba8005c0e41a06a9cd5c7439124 (patch) | |
tree | 27b2bf29ec3c76b7bef803e63c40e271f79cece1 | |
parent | dd695a752144db52633e624f3f0b641dfb6332b8 (diff) | |
download | go-180e22421f97cba8005c0e41a06a9cd5c7439124.tar.gz |
[dev.power64] 5g: fix etype and width of itable Addrs
For OITAB nodes, 5g's naddr was setting the wrong etype and
failing to set the width of the resulting Addr.
LGTM=rsc
R=rsc
CC=golang-codereviews
https://codereview.appspot.com/171220043
-rw-r--r-- | src/cmd/5g/gsubr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/5g/gsubr.c b/src/cmd/5g/gsubr.c index 06e274e14..f09197963 100644 --- a/src/cmd/5g/gsubr.c +++ b/src/cmd/5g/gsubr.c @@ -1353,9 +1353,10 @@ naddr(Node *n, Addr *a, int canemitcode) case OITAB: // itable of interface value naddr(n->left, a, canemitcode); - a->etype = TINT32; + a->etype = simtype[tptr]; if(a->type == D_CONST && a->offset == 0) break; // len(nil) + a->width = widthptr; break; case OSPTR: |