]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: use AutogeneratedPos for method value wrapper
authorCherry Mui <cherryyz@google.com>
Tue, 1 Mar 2022 17:02:38 +0000 (12:02 -0500)
committerCherry Mui <cherryyz@google.com>
Tue, 1 Mar 2022 21:27:42 +0000 (21:27 +0000)
commitb0db2f00a0d540c3d3f5d14433da2e3e1ad41f9f
tree6b4e4adac4981ddc85a2713dadf40684d2c3ebb3
parentf4722d84499cc07fe8c8beb9b3154e59b7d21adf
cmd/compile: use AutogeneratedPos for method value wrapper

We use AutogeneratedPos for most compiler-generated functions. But
for method value wrappers we currently don't. Instead, we use the
Pos for their (direct) declaration if there is one, otherwise
not set it in methodValueWrapper, which will probably cause it to
inherit from the caller, i.e. the Pos of that method value
expression. If that Pos has inline information, it will cause the
method wrapper to have bogus inline information, which could lead
to infinite loop when printing a stack trace.

Change it to use AutogeneratedPos instead.

Fixes #51401.

Change-Id: I398dfe85f9f875e1fd82dc2f489dab63ada6570d
Reviewed-on: https://go-review.googlesource.com/c/go/+/388794
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/walk/closure.go
test/fixedbugs/issue51401.go [new file with mode: 0644]