Revert "cmd/compile: define func value symbols at declaration"
This reverts commit 3b411bf1a1bb08d6868083981cecba8088dc7aea.
Change-Id: I321a43fa378a43b3e4d7aa97e0222775640af64b
Reviewed-on: https://go-review.googlesource.com/12205
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/src/cmd/compile/internal/gc/closure.go b/src/cmd/compile/internal/gc/closure.go
index 65f77d9..24af94c 100644
--- a/src/cmd/compile/internal/gc/closure.go
+++ b/src/cmd/compile/internal/gc/closure.go
@@ -199,7 +199,6 @@
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)
diff --git a/src/cmd/compile/internal/gc/dcl.go b/src/cmd/compile/internal/gc/dcl.go
index 0cb04ee..cba8e21 100644
--- a/src/cmd/compile/internal/gc/dcl.go
+++ b/src/cmd/compile/internal/gc/dcl.go
@@ -585,10 +585,6 @@
Fatal("funchdr: dclcontext")
}
- if importpkg == nil && n.Func.Nname != nil {
- makefuncsym(n.Func.Nname.Sym)
- }
-
dclcontext = PAUTO
markdcl()
Funcdepth++
@@ -1493,16 +1489,12 @@
}
s1 := Pkglookup(s.Name+"·f", s.Pkg)
- s.Fsym = s1
- return s1
-}
-
-func makefuncsym(s *Sym) {
- if isblanksym(s) {
- return
+ if s1.Def == nil {
+ s1.Def = newfuncname(s1)
+ s1.Def.Func.Shortname = newname(s)
+ funcsyms = list(funcsyms, s1.Def)
}
- s1 := funcsym(s)
- s1.Def = newfuncname(s1)
- s1.Def.Func.Shortname = newname(s)
- funcsyms = list(funcsyms, s1.Def)
+ s.Fsym = s1
+
+ return s1
}