aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/vet/testdata
diff options
context:
space:
mode:
authorDavid Symonds <dsymonds@golang.org>2018-04-16 09:41:05 +1000
committerDavid Symonds <dsymonds@golang.org>2018-04-15 23:51:20 +0000
commit29eca06ff078b2ebb60791988f83468d72ed44ef (patch)
treef77a8b124d33a2e828e45691ebf2a68c7dcb790b /src/cmd/vet/testdata
parent0b9c1ad20d4d4120e30f05129987f44de57032be (diff)
downloadgo-29eca06ff078b2ebb60791988f83468d72ed44ef.tar.xz
cmd/vet: fix panic in dead code checker on ill-formed switch statements.
A switch statement without a tag requires case values to be bools, but the parser does not enforce that, so AST-walking code needs to take care. Change-Id: I7d9abbb0324314e02a37813c2d2f6adb0d6af5e7 Reviewed-on: https://go-review.googlesource.com/107375 Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/cmd/vet/testdata')
-rw-r--r--src/cmd/vet/testdata/deadcode.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/cmd/vet/testdata/deadcode.go b/src/cmd/vet/testdata/deadcode.go
index 5370bc32f6..d1a7adee38 100644
--- a/src/cmd/vet/testdata/deadcode.go
+++ b/src/cmd/vet/testdata/deadcode.go
@@ -2123,3 +2123,12 @@ var _ = func() {
// goto without label used to panic
goto
}
+
+func _() int {
+ // Empty switch tag with non-bool case value used to panic.
+ switch {
+ case 1:
+ println()
+ }
+ println()
+}