aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2022-07-24 09:48:56 -0700
committerKeith Randall <khr@google.com>2022-07-25 20:44:49 +0000
commit24dc27a3c084b901ee456637541ea818495888b0 (patch)
treea115948758f4b2bfdfee86418c3b41ce5bd4400c
parent9fcc8b2c1eeb2333751d80626e4204d304c8b3c6 (diff)
downloadgo-24dc27a3c084b901ee456637541ea818495888b0.tar.gz
go-24dc27a3c084b901ee456637541ea818495888b0.zip
cmd/compile: fix blank label code
When checkEnabled is forced true, the 52278 test fails. Be a bit more careful about processing blank labels. Update #52278 Change-Id: I48aa89e2c9e3715d8efe599bc4363b5b5879d8a2 Reviewed-on: https://go-review.googlesource.com/c/go/+/419318 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
-rw-r--r--src/cmd/compile/internal/ssagen/ssa.go4
-rw-r--r--test/fixedbugs/issue52278.go2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/ssagen/ssa.go b/src/cmd/compile/internal/ssagen/ssa.go
index a7778d37fb..2ee027092e 100644
--- a/src/cmd/compile/internal/ssagen/ssa.go
+++ b/src/cmd/compile/internal/ssagen/ssa.go
@@ -1496,6 +1496,10 @@ func (s *state) stmt(n ir.Node) {
case ir.OLABEL:
n := n.(*ir.LabelStmt)
sym := n.Label
+ if sym.IsBlank() {
+ // Nothing to do because the label isn't targetable. See issue 52278.
+ break
+ }
lab := s.label(sym)
// The label might already have a target block via a goto.
diff --git a/test/fixedbugs/issue52278.go b/test/fixedbugs/issue52278.go
index 56169e6871..147b653037 100644
--- a/test/fixedbugs/issue52278.go
+++ b/test/fixedbugs/issue52278.go
@@ -1,4 +1,4 @@
-// compile
+// compile -d=ssa/check/on
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style