summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2014-11-06 15:35:53 -0500
committerAustin Clements <austin@google.com>2014-11-06 15:35:53 -0500
commit180e22421f97cba8005c0e41a06a9cd5c7439124 (patch)
tree27b2bf29ec3c76b7bef803e63c40e271f79cece1
parentdd695a752144db52633e624f3f0b641dfb6332b8 (diff)
downloadgo-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.c3
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: