mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: always mark atColumn1 results as statements
In 31618, we end up comparing the is-stmt-ness of positions to repurpose real instructions as inline marks. If the is-stmt-ness doesn't match, we end up not being able to remove the inline mark. Always use statement-full positions to do the matching, so we always find a match if there is one. Also always use positions that are statements for inline marks. Fixes #31618 Change-Id: Idaf39bdb32fa45238d5cd52973cadf4504f947d5 Reviewed-on: https://go-review.googlesource.com/c/go/+/173324 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
a152dd0438
commit
fd788a86b6
4 changed files with 25 additions and 2 deletions
|
|
@ -1055,7 +1055,7 @@ func mkinlcall(n, fn *Node, maxCost int32) *Node {
|
|||
// to put a breakpoint. Not sure if that's really necessary or not
|
||||
// (in which case it could go at the end of the function instead).
|
||||
inlMark := nod(OINLMARK, nil, nil)
|
||||
inlMark.Pos = n.Pos.WithDefaultStmt()
|
||||
inlMark.Pos = n.Pos.WithIsStmt()
|
||||
inlMark.Xoffset = int64(newIndex)
|
||||
ninit.Append(inlMark)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue