1
0
mirror of https://github.com/golang/go synced 2024-11-19 00:54:42 -07:00
R=r
OCL=16018
CL=16022
This commit is contained in:
Ken Thompson 2008-09-26 17:41:23 -07:00
parent 566e3b2043
commit 8545700af8
2 changed files with 14 additions and 8 deletions

View File

@ -386,6 +386,9 @@ agen(Node *n, Node *res)
// i is in &n1 // i is in &n1
// w is width // w is width
if(w == 0)
fatal("index is zero width");
if(isptrdarray(nl->type)) { if(isptrdarray(nl->type)) {
regalloc(&n2, types[tptr], res); regalloc(&n2, types[tptr], res);
gmove(res, &n2); gmove(res, &n2);

View File

@ -506,14 +506,17 @@ importaddtyp(Node *ss, Type *t)
Sym *s; Sym *s;
s = getimportsym(ss); s = getimportsym(ss);
if(s->otype != T && !eqtype(t, s->otype, 0)) { if(s->otype != T) {
if(!isptrto(t, TFORW)) // here we should try to discover if
yyerror("import redeclaration of %lS %lT => %lT\n", // the new type is the same as the old type
if(eqtype(t, s->otype, 0))
return;
if(isptrto(t, TFORW))
return; // hard part
warn("redeclare import %S from %lT to %lT",
s, s->otype, t); s, s->otype, t);
s->otype = t; return;
} }
if(s->otype == T)
addtyp(newtype(s), t, PEXTERN); addtyp(newtype(s), t, PEXTERN);
} }