cmd/compile/internal/ssa: skip EndSequence entries in TestStmtLines

The TestStmtLines test has been accessing a nil pointer when it
tries to look up LineEntry.File.Name on a line entry with
EndSequence set to true. The doc for EndSequence specifies that if
EndSequence is set, only it and the Address field are meaningful. Skip
the entries with EndSequence set when building the set of files.

I've reproduced this issue locally.
Probably also fixes #49372, but will leave that for a follow-up CL.

Fixes #74475
Updates #49372

Change-Id: Ic0664f7652b52a0a20239d13fe16454622740821
Reviewed-on: https://go-review.googlesource.com/c/go/+/685835
Reviewed-by: Than McIntosh <thanm@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Bypass: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Quim Muntal <quimmuntal@gmail.com>
This commit is contained in:
qmuntal 2025-07-04 12:45:42 +02:00 committed by Gopher Robot
parent a995269a93
commit 33fb4819f5

View file

@ -120,6 +120,11 @@ func TestStmtLines(t *testing.T) {
break
}
must(err)
if le.EndSequence {
// When EndSequence is true only
// le.Address is meaningful, skip.
continue
}
fl := Line{le.File.Name, le.Line}
lines[fl] = lines[fl] || le.IsStmt
}