some deletions
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201105173854-bc9fc8d8c4bc / go / analysis / passes / unreachable / testdata / src / a / a.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/go/analysis/passes/unreachable/testdata/src/a/a.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/go/analysis/passes/unreachable/testdata/src/a/a.go
deleted file mode 100644 (file)
index b283fd0..0000000
+++ /dev/null
@@ -1,2133 +0,0 @@
-// Copyright 2020 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 unreachable
-
-// This file produces masses of errors from the type checker due to
-// missing returns statements and other things.
-
-type T int
-
-var x interface{}
-var c chan int
-
-func external() int // ok
-
-func _() int {
-}
-
-func _() int {
-       print(1)
-}
-
-func _() int {
-       print(1)
-       return 2
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       print(1)
-       goto L
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       panic(2)
-       println() // want "unreachable code"
-}
-
-// but only builtin panic
-func _() int {
-       var panic = func(int) {}
-       print(1)
-       panic(2)
-       println() // ok
-}
-
-func _() int {
-       {
-               print(1)
-               return 2
-               println() // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-       {
-               print(1)
-               return 2
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       {
-               print(1)
-               goto L
-               println() // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       {
-               print(1)
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       {
-               panic(2)
-       }
-}
-
-func _() int {
-       print(1)
-       {
-               panic(2)
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       {
-               panic(2)
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       return 2
-       { // want "unreachable code"
-       }
-}
-
-func _() int {
-L:
-       print(1)
-       goto L
-       { // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       panic(2)
-       { // want "unreachable code"
-       }
-}
-
-func _() int {
-       {
-               print(1)
-               return 2
-               { // want "unreachable code"
-               }
-       }
-}
-
-func _() int {
-L:
-       {
-               print(1)
-               goto L
-               { // want "unreachable code"
-               }
-       }
-}
-
-func _() int {
-       print(1)
-       {
-               panic(2)
-               { // want "unreachable code"
-               }
-       }
-}
-
-func _() int {
-       {
-               print(1)
-               return 2
-       }
-       { // want "unreachable code"
-       }
-}
-
-func _() int {
-L:
-       {
-               print(1)
-               goto L
-       }
-       { // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       {
-               panic(2)
-       }
-       { // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       if x == nil {
-               panic(2)
-       } else {
-               panic(3)
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       print(1)
-       if x == nil {
-               panic(2)
-       } else {
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       print(1)
-       if x == nil {
-               panic(2)
-       } else if x == 1 {
-               return 0
-       } else if x != 2 {
-               panic(3)
-       } else {
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-// if-else chain missing final else is not okay, even if the
-// conditions cover every possible case.
-
-func _() int {
-       print(1)
-       if x == nil {
-               panic(2)
-       } else if x != nil {
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       if x == nil {
-               panic(2)
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       print(1)
-       if x == nil {
-               panic(2)
-       } else if x == 1 {
-               return 0
-       } else if x != 1 {
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       for {
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       for {
-               for {
-                       break
-               }
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       for {
-               for {
-                       break
-                       println() // want "unreachable code"
-               }
-       }
-}
-
-func _() int {
-       for {
-               for {
-                       continue
-                       println() // want "unreachable code"
-               }
-       }
-}
-
-func _() int {
-       for {
-       L:
-               for {
-                       break L
-               }
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       for {
-               break
-       }
-       println() // ok
-}
-
-func _() int {
-       for {
-               for {
-               }
-               break // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       for {
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       for x == nil {
-       }
-       println() // ok
-}
-
-func _() int {
-       for x == nil {
-               for {
-                       break
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       for x == nil {
-       L:
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       for true {
-       }
-       println() // ok
-}
-
-func _() int {
-       for true {
-               for {
-                       break
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       for true {
-       L:
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       select {}
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               for {
-               }
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               for {
-               }
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               println() // want "unreachable code"
-       case c <- 1:
-               print(2)
-               goto L
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-L:
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       case c <- 1:
-               print(2)
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               println() // want "unreachable code"
-       default:
-               select {}
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       default:
-               select {}
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               goto L // want "unreachable code"
-       case c <- 1:
-               print(2)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       default:
-               print(2)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       select {
-       default:
-               break
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               break // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-L:
-       select {
-       case <-c:
-               print(2)
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-L:
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       case c <- 1:
-               print(2)
-               break L
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       select {
-       case <-c:
-               print(1)
-               panic("abc")
-       default:
-               select {}
-               break // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       switch x {
-       default:
-               return 4
-               println() // want "unreachable code"
-       case 1:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       switch x {
-       default:
-               return 4
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               fallthrough
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               fallthrough
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       switch {
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-       case 2:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 2:
-               return 4
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               fallthrough
-       case 2:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-L:
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-               break L // want "unreachable code"
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x {
-       default:
-               return 4
-               break // want "unreachable code"
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-L:
-       switch x {
-       case 1:
-               print(2)
-               for {
-                       break L
-               }
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       default:
-               return 4
-               println() // want "unreachable code"
-       case int:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       default:
-               return 4
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               fallthrough
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               fallthrough
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       print(1)
-       switch {
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-       case float64:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case float64:
-               return 4
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               fallthrough
-       case float64:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-L:
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-               break L // want "unreachable code"
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-       switch x.(type) {
-       default:
-               return 4
-               break // want "unreachable code"
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-func _() int {
-       print(1)
-L:
-       switch x.(type) {
-       case int:
-               print(2)
-               for {
-                       break L
-               }
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-// again, but without the leading print(1).
-// testing that everything works when the terminating statement is first.
-
-func _() int {
-       println() // ok
-}
-
-func _() int {
-       return 2
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       goto L
-       println() // want "unreachable code"
-}
-
-func _() int {
-       panic(2)
-       println() // want "unreachable code"
-}
-
-// but only builtin panic
-func _() int {
-       var panic = func(int) {}
-       panic(2)
-       println() // ok
-}
-
-func _() int {
-       {
-               return 2
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       {
-               return 2
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-L:
-       {
-               goto L
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-L:
-       {
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       {
-               panic(2)
-               println() // want "unreachable code"
-       }
-}
-
-func _() int {
-       {
-               panic(2)
-       }
-       println() // want "unreachable code"
-}
-
-func _() int {
-       return 2
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       goto L
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-       panic(2)
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-       {
-               return 2
-               { // want "unreachable code"
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       {
-               goto L
-               { // want "unreachable code"
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       {
-               panic(2)
-               { // want "unreachable code"
-               }
-       }
-       println() // ok
-}
-
-func _() int {
-       {
-               return 2
-       }
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-L:
-       {
-               goto L
-       }
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-func _() int {
-       {
-               panic(2)
-       }
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-// again, with func literals
-
-var _ = func() int {
-}
-
-var _ = func() int {
-       print(1)
-}
-
-var _ = func() int {
-       print(1)
-       return 2
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       print(1)
-       goto L
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       panic(2)
-       println() // want "unreachable code"
-}
-
-// but only builtin panic
-var _ = func() int {
-       var panic = func(int) {}
-       print(1)
-       panic(2)
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               print(1)
-               return 2
-               println() // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               print(1)
-               return 2
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       {
-               print(1)
-               goto L
-               println() // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       {
-               print(1)
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       {
-               panic(2)
-       }
-}
-
-var _ = func() int {
-       print(1)
-       {
-               panic(2)
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       {
-               panic(2)
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       return 2
-       { // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-L:
-       print(1)
-       goto L
-       { // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       panic(2)
-       { // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       {
-               print(1)
-               return 2
-               { // want "unreachable code"
-               }
-       }
-}
-
-var _ = func() int {
-L:
-       {
-               print(1)
-               goto L
-               { // want "unreachable code"
-               }
-       }
-}
-
-var _ = func() int {
-       print(1)
-       {
-               panic(2)
-               { // want "unreachable code"
-               }
-       }
-}
-
-var _ = func() int {
-       {
-               print(1)
-               return 2
-       }
-       { // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-L:
-       {
-               print(1)
-               goto L
-       }
-       { // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       {
-               panic(2)
-       }
-       { // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       if x == nil {
-               panic(2)
-       } else {
-               panic(3)
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       print(1)
-       if x == nil {
-               panic(2)
-       } else {
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       print(1)
-       if x == nil {
-               panic(2)
-       } else if x == 1 {
-               return 0
-       } else if x != 2 {
-               panic(3)
-       } else {
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-// if-else chain missing final else is not okay, even if the
-// conditions cover every possible case.
-
-var _ = func() int {
-       print(1)
-       if x == nil {
-               panic(2)
-       } else if x != nil {
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       if x == nil {
-               panic(2)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       print(1)
-       if x == nil {
-               panic(2)
-       } else if x == 1 {
-               return 0
-       } else if x != 1 {
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       for {
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       for {
-               for {
-                       break
-               }
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       for {
-               for {
-                       break
-                       println() // want "unreachable code"
-               }
-       }
-}
-
-var _ = func() int {
-       for {
-               for {
-                       continue
-                       println() // want "unreachable code"
-               }
-       }
-}
-
-var _ = func() int {
-       for {
-       L:
-               for {
-                       break L
-               }
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       for {
-               break
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       for {
-               for {
-               }
-               break // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       for {
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       for x == nil {
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       for x == nil {
-               for {
-                       break
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       for x == nil {
-       L:
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       for true {
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       for true {
-               for {
-                       break
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       for true {
-       L:
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       select {}
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               for {
-               }
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               for {
-               }
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               println() // want "unreachable code"
-       case c <- 1:
-               print(2)
-               goto L
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-L:
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       case c <- 1:
-               print(2)
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               println() // want "unreachable code"
-       default:
-               select {}
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       default:
-               select {}
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               goto L // want "unreachable code"
-       case c <- 1:
-               print(2)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       default:
-               print(2)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       default:
-               break
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-               break // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-L:
-       select {
-       case <-c:
-               print(2)
-               for {
-                       break L
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-L:
-       select {
-       case <-c:
-               print(2)
-               panic("abc")
-       case c <- 1:
-               print(2)
-               break L
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       select {
-       case <-c:
-               print(1)
-               panic("abc")
-       default:
-               select {}
-               break // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       default:
-               return 4
-               println() // want "unreachable code"
-       case 1:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       default:
-               return 4
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               fallthrough
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               fallthrough
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       switch {
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-       case 2:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 2:
-               return 4
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               fallthrough
-       case 2:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-L:
-       switch x {
-       case 1:
-               print(2)
-               panic(3)
-               break L // want "unreachable code"
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x {
-       default:
-               return 4
-               break // want "unreachable code"
-       case 1:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-L:
-       switch x {
-       case 1:
-               print(2)
-               for {
-                       break L
-               }
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       default:
-               return 4
-               println() // want "unreachable code"
-       case int:
-               print(2)
-               panic(3)
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       default:
-               return 4
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               fallthrough
-       default:
-               return 4
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               fallthrough
-       default:
-               return 4
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       print(1)
-       switch {
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-       case float64:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case float64:
-               return 4
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               fallthrough
-       case float64:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-L:
-       switch x.(type) {
-       case int:
-               print(2)
-               panic(3)
-               break L // want "unreachable code"
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-       switch x.(type) {
-       default:
-               return 4
-               break // want "unreachable code"
-       case int:
-               print(2)
-               panic(3)
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       print(1)
-L:
-       switch x.(type) {
-       case int:
-               print(2)
-               for {
-                       break L
-               }
-       default:
-               return 4
-       }
-       println() // ok
-}
-
-// again, but without the leading print(1).
-// testing that everything works when the terminating statement is first.
-
-var _ = func() int {
-       println() // ok
-}
-
-var _ = func() int {
-       return 2
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       goto L
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       panic(2)
-       println() // want "unreachable code"
-}
-
-// but only builtin panic
-var _ = func() int {
-       var panic = func(int) {}
-       panic(2)
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               return 2
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       {
-               return 2
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-L:
-       {
-               goto L
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-L:
-       {
-               goto L
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       {
-               panic(2)
-               println() // want "unreachable code"
-       }
-}
-
-var _ = func() int {
-       {
-               panic(2)
-       }
-       println() // want "unreachable code"
-}
-
-var _ = func() int {
-       return 2
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       goto L
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       panic(2)
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               return 2
-               { // want "unreachable code"
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       {
-               goto L
-               { // want "unreachable code"
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               panic(2)
-               { // want "unreachable code"
-               }
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               return 2
-       }
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-L:
-       {
-               goto L
-       }
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-var _ = func() int {
-       {
-               panic(2)
-       }
-       { // want "unreachable code"
-       }
-       println() // ok
-}
-
-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()
-}