• 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
swt.c 18.9 KB