]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: don't emit inltree for closure within body of inlined func
authorThan McIntosh <thanm@google.com>
Tue, 18 May 2021 16:58:02 +0000 (12:58 -0400)
committerThan McIntosh <thanm@google.com>
Tue, 18 May 2021 20:04:57 +0000 (20:04 +0000)
commit6d2ef2ef2a3ed375b5c782e6c8b0f8a59c3d3c8c
tree5b727bd064ba6712b12a4312caed4e5ede6f71c5
parent048cb4ceee652e358d84fbca260fc93d7a0dfbe3
cmd/compile: don't emit inltree for closure within body of inlined func

When inlining functions with closures, ensure that we don't mark the
body of the closure with a src.Pos marker that reflects the inline,
since this will result in the generation of an inltree table for the
closure itself (as opposed to the routine that the func-with-closure
was inlined into).

Fixes #46234.

Change-Id: I348296de6504fc4745d99adab436640f50be299a
Reviewed-on: https://go-review.googlesource.com/c/go/+/320913
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Than McIntosh <thanm@google.com>
src/cmd/compile/internal/inline/inl.go
test/closure3.dir/main.go
test/fixedbugs/issue46234.go [new file with mode: 0644]
test/inline.go