diff --git a/src/cmd/6g/gsubr.c b/src/cmd/6g/gsubr.c index c4c6e348c9a..aec4cb1bd39 100644 --- a/src/cmd/6g/gsubr.c +++ b/src/cmd/6g/gsubr.c @@ -940,6 +940,7 @@ naddr(Node *n, Addr *a) a->etype = simtype[n->type->etype]; a->width = n->type->width; if(n->sym != S && strncmp(n->sym->name, "autotmp_", 8) != 0) + if(n->type->etype != TFUNC || n->type->thistuple == 0) a->gotype = typename(n->type)->left->sym; } a->offset = n->xoffset; diff --git a/src/cmd/8g/gsubr.c b/src/cmd/8g/gsubr.c index 2eacd23ada9..a0d2f6eb7e0 100755 --- a/src/cmd/8g/gsubr.c +++ b/src/cmd/8g/gsubr.c @@ -1692,6 +1692,7 @@ naddr(Node *n, Addr *a) if(n->type != T) { a->etype = simtype[n->type->etype]; if(n->sym != S && strncmp(n->sym->name, "autotmp_", 8) != 0) + if(n->type->etype != TFUNC || n->type->thistuple == 0) a->gotype = typename(n->type)->left->sym; } a->offset = n->xoffset;