diff options
Diffstat (limited to 'src/cmd/gc')
| -rw-r--r-- | src/cmd/gc/dcl.c | 2 | ||||
| -rw-r--r-- | src/cmd/gc/go.h | 1 | ||||
| -rw-r--r-- | src/cmd/gc/lex.c | 2 | ||||
| -rw-r--r-- | src/cmd/gc/subr.c | 10 |
4 files changed, 7 insertions, 8 deletions
diff --git a/src/cmd/gc/dcl.c b/src/cmd/gc/dcl.c index d25ab3328..12123b4a5 100644 --- a/src/cmd/gc/dcl.c +++ b/src/cmd/gc/dcl.c @@ -433,7 +433,7 @@ funcargs(Type *ft) while(t != T) { if(t->nname != N) t->nname->xoffset = t->width; - if(t->nname != N && t->nname->sym->name[0] != '_') { + if(t->nname != N) { addvar(t->nname, t->type, PPARAM); all |= 1; } else diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h index fceb743de..b04790d66 100644 --- a/src/cmd/gc/go.h +++ b/src/cmd/gc/go.h @@ -34,6 +34,7 @@ enum PRIME7 = 10067, PRIME8 = 10079, PRIME9 = 10091, + PRIME10 = 10093, AUNK = 100, // these values are known by runtime diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index c3a6511c9..83fc1f8d3 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -685,6 +685,8 @@ talph: s = pkglookup(s->name, context); if(s->lexical == LIGNORE) goto l0; + if(!exportname(s->name) && strcmp(package, s->opackage) != 0) + s = pkglookup(s->name, ".private"); } DBG("lex: %S %s\n", s, lexname(s->lexical)); diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index 40912bce6..0650a634e 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -1683,12 +1683,8 @@ eqtype(Type *t1, Type *t2, int d) if(t1->nname != N && t1->nname->sym != S) { if(t2->nname == N || t2->nname->sym == S) return 0; - if(strcmp(t1->nname->sym->name, t2->nname->sym->name) != 0) { - // assigned names dont count - if(t1->nname->sym->name[0] != '_' || - t2->nname->sym->name[0] != '_') - return 0; - } + if(strcmp(t1->nname->sym->name, t2->nname->sym->name) != 0) + return 0; } t1 = t1->down; t2 = t2->down; @@ -2489,7 +2485,7 @@ expand0(Type *t) u = methtype(t); if(u != T) { for(f=u->method; f!=T; f=f->down) { - if(!exportname(f->sym->name) && strcmp(f->sym->package, package) != 0) + if(!exportname(f->sym->name) && strcmp(f->sym->opackage, package) != 0) continue; if(f->sym->uniq) continue; |
