1
0
mirror of https://github.com/golang/go synced 2024-11-22 00:14:42 -07:00
R=ken
OCL=23528
CL=23528
This commit is contained in:
Russ Cox 2009-01-26 16:57:24 -08:00
parent 9ed2960de8
commit 4efad58d0a
8 changed files with 21 additions and 10 deletions

View File

@ -517,7 +517,7 @@ loop:
f->embedded = n->embedded;
f->sym = f->nname->sym;
if(pkgimportname != S && !exportname(f->sym->name))
f->sym = pkglookup(f->sym->name, pkgimportname->name);
f->sym = pkglookup(f->sym->name, pkgcontext);
}
*t = f;

View File

@ -504,6 +504,7 @@ EXTERN Node* fskel;
EXTERN Node* addtop;
EXTERN char* context;
EXTERN char* pkgcontext;
EXTERN int thechar;
EXTERN char* thestring;
EXTERN char* hunk;

View File

@ -80,7 +80,7 @@
%type <node> hidden_interfacedcl_list ohidden_interfacedcl_list hidden_interfacedcl_list_r
%type <node> hidden_interfacedcl
%type <node> hidden_funarg_list ohidden_funarg_list hidden_funarg_list_r
%type <node> hidden_funres ohidden_funres hidden_importsym
%type <node> hidden_funres ohidden_funres hidden_importsym hidden_pkg_importsym
%left LOROR
%left LANDAND
@ -1730,23 +1730,23 @@ oliteral:
hidden_import:
LPACKAGE sym1
/* variables */
| LVAR hidden_importsym hidden_type
| LVAR hidden_pkg_importsym hidden_type
{
importvar($2, $3);
}
| LCONST hidden_importsym '=' hidden_constant
| LCONST hidden_pkg_importsym '=' hidden_constant
{
importconst($2, T, &$4);
}
| LCONST hidden_importsym hidden_type '=' hidden_constant
| LCONST hidden_pkg_importsym hidden_type '=' hidden_constant
{
importconst($2, $3, &$5);
}
| LTYPE hidden_importsym hidden_type
| LTYPE hidden_pkg_importsym hidden_type
{
importtype($2, $3);
}
| LFUNC hidden_importsym '(' ohidden_funarg_list ')' ohidden_funres
| LFUNC hidden_pkg_importsym '(' ohidden_funarg_list ')' ohidden_funres
{
importvar($2, functype(N, $4, $6));
}
@ -1920,6 +1920,14 @@ hidden_importsym:
$$->sym = $3;
}
hidden_pkg_importsym:
hidden_importsym
{
$$ = $1;
pkgcontext = $$->psym->name;
}
/*
* helpful error messages.
* THIS SECTION MUST BE AT THE END OF THE FILE.

View File

@ -181,9 +181,6 @@ BUG: should not compile
=========== bugs/bug132.go
BUG: compilation succeeds incorrectly
=========== bugs/bug133.go
BUG: succeeds incorrectly
=========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: overflow converting constant to uint
@ -302,3 +299,8 @@ SIGSEGV: segmentation violation
Faulting address: 0x0
pc: xxx
=========== fixedbugs/bug133.go
fixedbugs/bug133.dir/bug2.go:11: undefined DOT i on bug0.T
fixedbugs/bug133.dir/bug2.go:11: illegal types for operand: RETURN
int