1
0
mirror of https://github.com/golang/go synced 2024-11-22 06:24:38 -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->embedded = n->embedded;
f->sym = f->nname->sym; f->sym = f->nname->sym;
if(pkgimportname != S && !exportname(f->sym->name)) if(pkgimportname != S && !exportname(f->sym->name))
f->sym = pkglookup(f->sym->name, pkgimportname->name); f->sym = pkglookup(f->sym->name, pkgcontext);
} }
*t = f; *t = f;

View File

@ -504,6 +504,7 @@ EXTERN Node* fskel;
EXTERN Node* addtop; EXTERN Node* addtop;
EXTERN char* context; EXTERN char* context;
EXTERN char* pkgcontext;
EXTERN int thechar; EXTERN int thechar;
EXTERN char* thestring; EXTERN char* thestring;
EXTERN char* hunk; 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_list ohidden_interfacedcl_list hidden_interfacedcl_list_r
%type <node> hidden_interfacedcl %type <node> hidden_interfacedcl
%type <node> hidden_funarg_list ohidden_funarg_list hidden_funarg_list_r %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 LOROR
%left LANDAND %left LANDAND
@ -1730,23 +1730,23 @@ oliteral:
hidden_import: hidden_import:
LPACKAGE sym1 LPACKAGE sym1
/* variables */ /* variables */
| LVAR hidden_importsym hidden_type | LVAR hidden_pkg_importsym hidden_type
{ {
importvar($2, $3); importvar($2, $3);
} }
| LCONST hidden_importsym '=' hidden_constant | LCONST hidden_pkg_importsym '=' hidden_constant
{ {
importconst($2, T, &$4); importconst($2, T, &$4);
} }
| LCONST hidden_importsym hidden_type '=' hidden_constant | LCONST hidden_pkg_importsym hidden_type '=' hidden_constant
{ {
importconst($2, $3, &$5); importconst($2, $3, &$5);
} }
| LTYPE hidden_importsym hidden_type | LTYPE hidden_pkg_importsym hidden_type
{ {
importtype($2, $3); 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)); importvar($2, functype(N, $4, $6));
} }
@ -1920,6 +1920,14 @@ hidden_importsym:
$$->sym = $3; $$->sym = $3;
} }
hidden_pkg_importsym:
hidden_importsym
{
$$ = $1;
pkgcontext = $$->psym->name;
}
/* /*
* helpful error messages. * helpful error messages.
* THIS SECTION MUST BE AT THE END OF THE FILE. * THIS SECTION MUST BE AT THE END OF THE FILE.

View File

@ -181,9 +181,6 @@ BUG: should not compile
=========== bugs/bug132.go =========== bugs/bug132.go
BUG: compilation succeeds incorrectly BUG: compilation succeeds incorrectly
=========== bugs/bug133.go
BUG: succeeds incorrectly
=========== fixedbugs/bug016.go =========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: overflow converting constant to uint fixedbugs/bug016.go:7: overflow converting constant to uint
@ -302,3 +299,8 @@ SIGSEGV: segmentation violation
Faulting address: 0x0 Faulting address: 0x0
pc: xxx 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