diff options
author | Russ Cox <rsc@golang.org> | 2009-10-07 14:55:12 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-10-07 14:55:12 -0700 |
commit | 8d2c6f61d1047d54d9c550cbfaa0573b105bc51d (patch) | |
tree | 0bc92db04f9ce77a95481c15bd0f644999245d17 /src/cmd/gc/go.h | |
parent | c347fdc13f125e304e5fa1ab24bed22362ebd4c5 (diff) | |
download | golang-8d2c6f61d1047d54d9c550cbfaa0573b105bc51d.tar.gz |
better handling of mistaken top-level variable
references during the parsing of :=. the base
problem is that when reading
a,b,c,d
the parser makes those refer to existing variables,
which might create a few stub top-level ones
for undefined names, but then if a := is the next
token, we need to undo those stubs.
this was causing problems in multifile packages
in which one file used a := variable named rpc
and the other imported a package named rpc.
R=ken
OCL=35446
CL=35446
Diffstat (limited to 'src/cmd/gc/go.h')
-rw-r--r-- | src/cmd/gc/go.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h index 8c01ad9a3..2d8834284 100644 --- a/src/cmd/gc/go.h +++ b/src/cmd/gc/go.h @@ -202,6 +202,7 @@ struct Node uchar initorder; uchar dodata; // compile literal assignment as data statement uchar used; + uchar oldref; // most nodes Node* left; @@ -247,7 +248,6 @@ struct Node Node* outer; // outer PPARAMREF in nested closure Node* closure; // ONAME/PHEAP <-> ONAME/PPARAMREF - char* pline; Sym* sym; // various int32 vargen; // unique name for OTYPE/ONAME int32 lineno; @@ -696,8 +696,6 @@ EXTERN int noargnames; EXTERN int funcdepth; EXTERN int typecheckok; -EXTERN char* importline; - /* * y.tab.c */ |