mirror of
https://github.com/golang/go
synced 2024-09-04 23:44:16 +00:00
![Josh Bleecher Snyder](/assets/img/avatar_default.png)
Ordinary switch statements are rewritten into a sequence of if statements. Staticly dead cases were not being eliminated because the rewrite introduced a temporary, which hid the fact that the case was a constant. Stop doing that. This eliminates dead code in the standard library at: runtime/cgocall.go:219 runtime/cgocall.go:269 debug/gosym/pclntab.go:175 debug/macho/file.go:208 math/big/nat.go:635 math/big/nat.go:850 math/big/nat.go:1058 cmd/pprof/internal/commands/commands.go:86 net/sock_bsd.go:19 cmd/go/build.go:2657 cmd/go/env.go:90 Fixes #9608. Change-Id: Ic23a05dfbb1ad91d5f62a6506b35a13e51b33e38 Reviewed-on: https://go-review.googlesource.com/3980 Reviewed-by: Keith Randall <khr@golang.org>
15 lines
478 B
Go
15 lines
478 B
Go
// rundir
|
|
|
|
// 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.
|
|
|
|
// Issue 9608: dead code elimination in switch statements.
|
|
|
|
// This has to be done as a package rather than as a file,
|
|
// because run.go runs files with 'go run', which passes the
|
|
// -complete flag to compiler, causing it to complain about
|
|
// the intentionally unimplemented function fail.
|
|
|
|
package ignored
|