diff options
| author | David Symonds <dsymonds@golang.org> | 2018-04-16 09:41:05 +1000 |
|---|---|---|
| committer | David Symonds <dsymonds@golang.org> | 2018-04-15 23:51:20 +0000 |
| commit | 29eca06ff078b2ebb60791988f83468d72ed44ef (patch) | |
| tree | f77a8b124d33a2e828e45691ebf2a68c7dcb790b /src/cmd/vet/testdata | |
| parent | 0b9c1ad20d4d4120e30f05129987f44de57032be (diff) | |
| download | go-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.go | 9 |
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() +} |
