mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile/internal/gc: fix initialization logic
Also add relevant test. Fixes #13343. Change-Id: Ib1e65af1d643d501de89adee3618eddbf6c69c9e Reviewed-on: https://go-review.googlesource.com/18159 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
7e24e89944
commit
aaabe3d849
2 changed files with 21 additions and 2 deletions
|
|
@ -124,10 +124,10 @@ func init1(n *Node, out **NodeList) {
|
|||
}
|
||||
|
||||
case OAS2FUNC, OAS2MAPR, OAS2DOTTYPE, OAS2RECV:
|
||||
if defn.Initorder != InitNotStarted {
|
||||
if defn.Initorder == InitDone {
|
||||
break
|
||||
}
|
||||
defn.Initorder = InitDone
|
||||
defn.Initorder = InitPending
|
||||
for l := defn.Rlist; l != nil; l = l.Next {
|
||||
init1(l.N, out)
|
||||
}
|
||||
|
|
@ -135,6 +135,7 @@ func init1(n *Node, out **NodeList) {
|
|||
Dump("nonstatic", defn)
|
||||
}
|
||||
*out = list(*out, defn)
|
||||
defn.Initorder = InitDone
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue