From 33fb4819f59d16c483be6cf2016f79eef3543691 Mon Sep 17 00:00:00 2001 From: qmuntal Date: Fri, 4 Jul 2025 12:45:42 +0200 Subject: [PATCH] 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 Reviewed-by: Carlos Amedee Reviewed-by: Dmitri Shuralyov TryBot-Bypass: Dmitri Shuralyov Auto-Submit: Quim Muntal --- src/cmd/compile/internal/ssa/stmtlines_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cmd/compile/internal/ssa/stmtlines_test.go b/src/cmd/compile/internal/ssa/stmtlines_test.go index e17a5402af..8cd11e9828 100644 --- a/src/cmd/compile/internal/ssa/stmtlines_test.go +++ b/src/cmd/compile/internal/ssa/stmtlines_test.go @@ -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 } -- 2.50.0