]> Cypherpunks repositories - gostls13.git/commitdiff
Revert "cmd/compile: define func value symbols at declaration"
authorRuss Cox <rsc@golang.org>
Wed, 15 Jul 2015 04:11:26 +0000 (04:11 +0000)
committerRuss Cox <rsc@golang.org>
Wed, 15 Jul 2015 04:11:54 +0000 (04:11 +0000)
This reverts commit 3b411bf1a1bb08d6868083981cecba8088dc7aea.

Change-Id: I321a43fa378a43b3e4d7aa97e0222775640af64b
Reviewed-on: https://go-review.googlesource.com/12205
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/compile/internal/gc/closure.go
src/cmd/compile/internal/gc/dcl.go

index 65f77d9079924f17756ab825248f83a68bde8d38..24af94c0cda3a65c6161d4c15c2185858c18fa4e 100644 (file)
@@ -199,7 +199,6 @@ func makeclosure(func_ *Node) *Node {
        xfunc.Func.Nname.Name.Funcdepth = func_.Func.Depth
        xfunc.Func.Depth = func_.Func.Depth
        xfunc.Func.Endlineno = func_.Func.Endlineno
-       makefuncsym(xfunc.Func.Nname.Sym)
 
        xfunc.Nbody = func_.Nbody
        xfunc.Func.Dcl = concat(func_.Func.Dcl, xfunc.Func.Dcl)
index 0cb04eead6d301d9ce74afc99cb1fa1c9f230068..cba8e21705f050c448f825713f86ef00c1591e71 100644 (file)
@@ -585,10 +585,6 @@ func funchdr(n *Node) {
                Fatal("funchdr: dclcontext")
        }
 
-       if importpkg == nil && n.Func.Nname != nil {
-               makefuncsym(n.Func.Nname.Sym)
-       }
-
        dclcontext = PAUTO
        markdcl()
        Funcdepth++
@@ -1493,16 +1489,12 @@ func funcsym(s *Sym) *Sym {
        }
 
        s1 := Pkglookup(s.Name+"·f", s.Pkg)
+       if s1.Def == nil {
+               s1.Def = newfuncname(s1)
+               s1.Def.Func.Shortname = newname(s)
+               funcsyms = list(funcsyms, s1.Def)
+       }
        s.Fsym = s1
-       return s1
-}
 
-func makefuncsym(s *Sym) {
-       if isblanksym(s) {
-               return
-       }
-       s1 := funcsym(s)
-       s1.Def = newfuncname(s1)
-       s1.Def.Func.Shortname = newname(s)
-       funcsyms = list(funcsyms, s1.Def)
+       return s1
 }