mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: fix unified IR panic when expanding nested inline function
When reading body of inlining function, which has another inlined function in the body, the reader still add this inlined function to todoBodies, which it shouldn't because the inlined function was read already. To fix this, introduce new flag to signal that we are done construting all functions in todoBodies, thus the addBody shouldn't add anything to todoBodies then. Updates #48094 Change-Id: I45105dd518f0a7b69c6dcbaf23b957623f271203 Reviewed-on: https://go-review.googlesource.com/c/go/+/347529 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
6edc57983a
commit
376a079762
5 changed files with 31 additions and 1 deletions
|
|
@ -136,6 +136,7 @@ func unified(noders []*noder) {
|
|||
}
|
||||
}
|
||||
todoBodies = nil
|
||||
todoBodiesDone = true
|
||||
|
||||
// Check that nothing snuck past typechecking.
|
||||
for _, n := range target.Decls {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue