• Josh Bleecher Snyder's avatar
    cmd/gc: eliminate dead code in switch statements · 4ce06f4b
    Josh Bleecher Snyder authored
    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/3980Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    4ce06f4b
Name
Last commit
Last update
..
Makefile Loading commit data...
align.c Loading commit data...
array.c Loading commit data...
bisonerrors Loading commit data...
bits.c Loading commit data...
builtin.c Loading commit data...
bv.c Loading commit data...
closure.c Loading commit data...
const.c Loading commit data...
cplx.c Loading commit data...
dcl.c Loading commit data...
doc.go Loading commit data...
esc.c Loading commit data...
export.c Loading commit data...
fmt.c Loading commit data...
gen.c Loading commit data...
go.errors Loading commit data...
go.h Loading commit data...
go.y Loading commit data...
init.c Loading commit data...
inl.c Loading commit data...
lex.c Loading commit data...
md5.c Loading commit data...
md5.h Loading commit data...
mkbuiltin Loading commit data...
mkbuiltin1.c Loading commit data...
mkopnames Loading commit data...
mparith1.c Loading commit data...
mparith2.c Loading commit data...
mparith3.c Loading commit data...
obj.c Loading commit data...
order.c Loading commit data...
pgen.c Loading commit data...
plive.c Loading commit data...
popt.c Loading commit data...
racewalk.c Loading commit data...
range.c Loading commit data...
reflect.c Loading commit data...
runtime.go Loading commit data...
select.c Loading commit data...
sinit.c Loading commit data...
subr.c Loading commit data...
swt.c Loading commit data...
typecheck.c Loading commit data...
unsafe.c Loading commit data...
unsafe.go Loading commit data...
walk.c Loading commit data...
y.tab.c Loading commit data...
y.tab.h Loading commit data...
yerr.h Loading commit data...