diff options
Diffstat (limited to 'test/fixedbugs/bug444.go')
-rw-r--r-- | test/fixedbugs/bug444.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/test/fixedbugs/bug444.go b/test/fixedbugs/bug444.go index 0bbd16fae..b54fb4f58 100644 --- a/test/fixedbugs/bug444.go +++ b/test/fixedbugs/bug444.go @@ -6,6 +6,7 @@ // The no-op conversion here used to confuse the compiler // into doing a load-effective-address of nil. +// See issue 3670. package main @@ -13,7 +14,23 @@ import "reflect" type T interface {} +var x bool + func main() { reflect.TypeOf(nil) - reflect.TypeOf(T(nil)) // used to fail + reflect.TypeOf(T(nil)) // used to miscompile + shouldPanic() +} + +func f() byte { + return []byte(nil)[0] // used to miscompile +} + +func shouldPanic() { + defer func() { + if recover() == nil { + panic("not panicking") + } + }() + f() } |