-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
Milestone
Description
http://play.golang.org/p/kn1aiXuG0l
package main
import "fmt"
func Crash(used int) {
data := []byte{(1 << (uint(used) & 7)) - 1}
fmt.Println(data)
}have Val [0xc82019f170]
. SUB l(6) tc(1) byte
. . LSH l(6) tc(1) byte
. . . LITERAL-1 l(6) tc(1) byte
. . . AND l(6) tc(1) uint
. . . . CONV l(6) tc(1) uint
. . . . . NAME-main.used u(1) a(true) g(1) l(5) x(0+0) class(PPARAM) f(1) ld(1) tc(1) used(true) int
. . . . LITERAL-7 l(6) tc(1) uint
. . LITERAL-1 l(6) tc(1) byte
prog.go:8: internal compiler error: have Val
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x5d3680]
goroutine 1 [running]:
cmd/compile/internal/gc.hcrash()
/usr/local/go/src/cmd/compile/internal/gc/subr.go:105 +0x50
cmd/compile/internal/gc.Fatal(0x81ec90, 0x8, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/compile/internal/gc/subr.go:198 +0x2b1
cmd/compile/internal/gc.(*Node).SetOpt(0xc82019f170, 0x77b9c0, 0xc820195530)
/usr/local/go/src/cmd/compile/internal/gc/syntax.go:107 +0x97
cmd/compile/internal/gc.(*EscState).nodeEscState(0xc8201a6000, 0xc82019f170, 0x77b9c0)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:330 +0x1f6
cmd/compile/internal/gc.escwalk(0xc8201a6000, 0xc82019ffff, 0xc82019f290, 0xc82019f170)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:1590 +0x6d
cmd/compile/internal/gc.escwalk(0xc8201a6000, 0xc820190000, 0xc82019f290, 0xc82019ecf0)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:1710 +0x288c
cmd/compile/internal/gc.escflood(0xc8201a6000, 0xc82019f290)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:1575 +0x35f
cmd/compile/internal/gc.escAnalyze(0xc82017f680, 0xc820195200)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:456 +0x214
cmd/compile/internal/gc.(*bottomUpVisitor).visit(0xc820089ab0, 0xc82019e900, 0xc8201952c0)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:107 +0x297
cmd/compile/internal/gc.visitBottomUp(0xc82017f4a0, 0x89b080)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:62 +0xb0
cmd/compile/internal/gc.escapes(0xc82017f4a0)
/usr/local/go/src/cmd/compile/internal/gc/esc.go:187 +0x2d
cmd/compile/internal/gc.Main()
/usr/local/go/src/cmd/compile/internal/gc/lex.go:456 +0x1e65
cmd/compile/internal/amd64.Main()
/usr/local/go/src/cmd/compile/internal/amd64/galign.go:127 +0x58d
main.main()
/usr/local/go/src/cmd/compile/main.go:26 +0x189
Program exited.