diff options
| author | Keith Randall <khr@golang.org> | 2026-03-03 13:54:58 -0800 |
|---|---|---|
| committer | Carlos Amedee <carlos@golang.org> | 2026-03-19 13:43:30 -0700 |
| commit | 1368bc269e8d8cc11bb0afa7d5401683b7c424d5 (patch) | |
| tree | 16f5f84c09a65e4474ee078d52c481648d52cc03 | |
| parent | 840d86c06077de2d08a21537eab6f7ac4fca34a8 (diff) | |
| download | go-1368bc269e8d8cc11bb0afa7d5401683b7c424d5.tar.xz | |
[release-branch.go1.26] cmd/compile: fix bloop test
Backport of CL 749660. It isn't a simple cherry pick because
there was a refactor at tip.
Fixes #77838
Change-Id: I761c441e82d41d1a7d7c91313401913bb5454546
Reviewed-on: https://go-review.googlesource.com/c/go/+/751240
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Keith Randall <khr@google.com>
| -rw-r--r-- | src/cmd/compile/internal/bloop/bloop.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/bloop/bloop.go b/src/cmd/compile/internal/bloop/bloop.go index 69c889e858..b8ff1f0fbd 100644 --- a/src/cmd/compile/internal/bloop/bloop.go +++ b/src/cmd/compile/internal/bloop/bloop.go @@ -144,7 +144,7 @@ func preserveStmt(curFn *ir.Func, stmt ir.Node) (ret ir.Node) { if name != nil { debugName(name, n.Pos()) ret = keepAliveAt([]ir.Node{name}, n) - } else if deref := n.X.(*ir.StarExpr); deref != nil { + } else if deref, ok := n.X.(*ir.StarExpr); ok && deref != nil { ret = keepAliveAt([]ir.Node{deref}, n) if base.Flag.LowerM > 1 { base.WarnfAt(n.Pos(), "dereference will be kept alive") @@ -159,7 +159,7 @@ func preserveStmt(curFn *ir.Func, stmt ir.Node) (ret ir.Node) { if name != nil { debugName(name, n.Pos()) ns = append(ns, name) - } else if deref := lhs.(*ir.StarExpr); deref != nil { + } else if deref, ok := lhs.(*ir.StarExpr); ok && deref != nil { ns = append(ns, deref) if base.Flag.LowerM > 1 { base.WarnfAt(n.Pos(), "dereference will be kept alive") @@ -174,7 +174,7 @@ func preserveStmt(curFn *ir.Func, stmt ir.Node) (ret ir.Node) { if name != nil { debugName(name, n.Pos()) ret = keepAliveAt([]ir.Node{name}, n) - } else if deref := n.X.(*ir.StarExpr); deref != nil { + } else if deref, ok := n.X.(*ir.StarExpr); ok && deref != nil { ret = keepAliveAt([]ir.Node{deref}, n) if base.Flag.LowerM > 1 { base.WarnfAt(n.Pos(), "dereference will be kept alive") |
