]> Cypherpunks.ru repositories - gostls13.git/blob - test/fixedbugs/issue8047b.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / fixedbugs / issue8047b.go
1 // run
2
3 // Copyright 2014 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
6
7 // Issue 8047. Defer setup during panic shouldn't crash for nil defer.
8
9 package main
10
11 func main() {
12         defer func() {
13                 // This recover recovers the panic caused by the nil defer func
14                 // g(). The original panic(1) was already aborted/replaced by this
15                 // new panic, so when this recover is done, the program completes
16                 // normally.
17                 recover()
18         }()
19         f()
20 }
21
22 func f() {
23         var g func()
24         defer g()
25         panic(1)
26 }