]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/syntax: add test case for invalid label use
authorRobert Griesemer <gri@golang.org>
Tue, 7 Jan 2025 00:22:10 +0000 (16:22 -0800)
committerGopher Robot <gobot@golang.org>
Tue, 7 Jan 2025 17:56:13 +0000 (09:56 -0800)
This case is not properly handled by the type checkers (see issue)
but the compiler uses the parser's label checking so it works as
expected.

For #70974.

Change-Id: I0849376bf7514a9a7730846649c3fe28c91f44ca
Reviewed-on: https://go-review.googlesource.com/c/go/+/640895
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>

src/cmd/compile/internal/syntax/testdata/issue70974.go [new file with mode: 0644]

diff --git a/src/cmd/compile/internal/syntax/testdata/issue70974.go b/src/cmd/compile/internal/syntax/testdata/issue70974.go
new file mode 100644 (file)
index 0000000..ebc69ed
--- /dev/null
@@ -0,0 +1,17 @@
+// Copyright 2025 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package p
+
+func _() {
+M:
+L:
+       for range 0 {
+               break L
+               break /* ERROR invalid break label M */ M
+       }
+       for range 0 {
+               break /* ERROR invalid break label L */ L
+       }
+}