modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/issue9608.dir/issue9608.go (about) 1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package main 6 7 func fail() // unimplemented, to test dead code elimination 8 9 // Test dead code elimination in if statements 10 func init() { 11 if false { 12 fail() 13 } 14 if 0 == 1 { 15 fail() 16 } 17 } 18 19 // Test dead code elimination in ordinary switch statements 20 func init() { 21 const x = 0 22 switch x { 23 case 1: 24 fail() 25 } 26 27 switch 1 { 28 case x: 29 fail() 30 } 31 32 switch { 33 case false: 34 fail() 35 } 36 37 const a = "a" 38 switch a { 39 case "b": 40 fail() 41 } 42 43 const snowman = '☃' 44 switch snowman { 45 case '☀': 46 fail() 47 } 48 49 const zero = float64(0.0) 50 const one = float64(1.0) 51 switch one { 52 case -1.0: 53 fail() 54 case zero: 55 fail() 56 } 57 58 switch 1.0i { 59 case 1: 60 fail() 61 case -1i: 62 fail() 63 } 64 65 const no = false 66 switch no { 67 case true: 68 fail() 69 } 70 71 // Test dead code elimination in large ranges. 72 switch 5 { 73 case 3, 4, 5, 6, 7: 74 case 0, 1, 2: 75 fail() 76 default: 77 fail() 78 } 79 } 80 81 func main() { 82 }