summaryrefslogtreecommitdiff
path: root/src/cmd/gc/subr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/gc/subr.c')
-rw-r--r--src/cmd/gc/subr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index cd2fc4d2d..5638df4b7 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -1779,6 +1779,8 @@ loop:
goto loop;
case TANY:
+ if(!st->copyany)
+ return 0;
*stp = t;
break;
@@ -1841,6 +1843,11 @@ deep(Type *t)
nt = t; // share from here down
break;
+ case TANY:
+ nt = shallow(t);
+ nt->copyany = 1;
+ break;
+
case TPTR32:
case TPTR64:
case TCHAN: