1
0
mirror of https://github.com/golang/go synced 2024-10-01 07:18:32 -06: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
// w is width
if(w == 0)
fatal("index is zero width");
if(isptrdarray(nl->type)) {
regalloc(&n2, types[tptr], res);
gmove(res, &n2);

View File

@ -506,14 +506,17 @@ importaddtyp(Node *ss, Type *t)
Sym *s;
s = getimportsym(ss);
if(s->otype != T && !eqtype(t, s->otype, 0)) {
if(!isptrto(t, TFORW))
yyerror("import redeclaration of %lS %lT => %lT\n",
if(s->otype != T) {
// here we should try to discover if
// 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->otype = t;
return;
}
if(s->otype == T)
addtyp(newtype(s), t, PEXTERN);
}