// Copyright 2015 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 main func fail() // unimplemented, to test dead code elimination // Test dead code elimination in if statements func init() { if false { fail() } if 0 == 1 { fail() } } // Test dead code elimination in ordinary switch statements func init() { const x = 0 switch x { case 1: fail() } switch 1 { case x: fail() } switch { case false: fail() } const a = "a" switch a { case "b": fail() } const snowman = '☃' switch snowman { case '☀': fail() } const zero = float64(0.0) const one = float64(1.0) switch one { case -1.0: fail() case zero: fail() } switch 1.0i { case 1: fail() case -1i: fail() } const no = false switch no { case true: fail() } // Test dead code elimination in large ranges. switch 5 { case 3, 4, 5, 6, 7: case 0, 1, 2: fail() default: fail() } } func main() { }