]> Cypherpunks repositories - gostls13.git/commitdiff
bug133
authorRuss Cox <rsc@golang.org>
Tue, 27 Jan 2009 00:57:24 +0000 (16:57 -0800)
committerRuss Cox <rsc@golang.org>
Tue, 27 Jan 2009 00:57:24 +0000 (16:57 -0800)
R=ken
OCL=23528
CL=23528

src/cmd/gc/dcl.c
src/cmd/gc/go.h
src/cmd/gc/go.y
test/fixedbugs/bug133.dir/bug0.go [moved from test/bugs/bug133.dir/bug0.go with 100% similarity]
test/fixedbugs/bug133.dir/bug1.go [moved from test/bugs/bug133.dir/bug1.go with 100% similarity]
test/fixedbugs/bug133.dir/bug2.go [moved from test/bugs/bug133.dir/bug2.go with 100% similarity]
test/fixedbugs/bug133.go [moved from test/bugs/bug133.go with 100% similarity]
test/golden.out

index 12123b4a5e799027ed1a664dc7151703f408eb7c..a60637c258c7343b8ad3aea1922b66e8d5a1d62e 100644 (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;
index 6dc8393bd71f505603bf13402e532ea43c0dae2e..e1f64b5424c1398d6153d63eb5708c27f33b51e2 100644 (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;
index 0a7cd0813bba1a67dc5700735719344016891e46..ac764b94d858f3834eeafb0479805f94a0954e6e 100644 (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.
similarity index 100%
rename from test/bugs/bug133.go
rename to test/fixedbugs/bug133.go
index c52f213823ff3896464c2eba67ab8af17a256052..d70df181d33986d381115b58db73ac36eab78654 100644 (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