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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index 98e99ab3b..870a90167 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -1609,7 +1609,7 @@ signame(Type *t)
goto bad;
e = "sigt";
- if(t->etype == TINTER)
+ if(t->etype == TINTER || t->etype == TDDD)
e = "sigi";
// name is exported name, like *[]byte or *Struct or Interface
@@ -1620,6 +1620,10 @@ signame(Type *t)
// so that it can be referred to by the runtime.
if(strcmp(buf, "interface { }") == 0)
strcpy(buf, "empty");
+
+ // special case: sigi.... is just too hard to read in assembly.
+ if(strcmp(buf, "...") == 0)
+ strcpy(buf, "dotdotdot");
ss = pkglookup(buf, e);
if(ss->oname == N) {