]> Cypherpunks repositories - gostls13.git/commit
cmd/gc: eliminate dead code in switch statements
authorJosh Bleecher Snyder <josharian@gmail.com>
Thu, 5 Feb 2015 23:38:53 +0000 (15:38 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Fri, 6 Feb 2015 19:05:47 +0000 (19:05 +0000)
commit4ce06f4b5caab3874f30f14551aa3f8e08f2de3e
treeaa8ca2a25413df5fc40421e8eafa3df6951da545
parent82a761b656704c07a94c12b10141a0cdba1a4534
cmd/gc: eliminate dead code in switch statements

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>
src/cmd/gc/swt.c
test/fixedbugs/issue9608.dir/issue9608.go [new file with mode: 0644]
test/fixedbugs/issue9608.go [new file with mode: 0644]