| // Copyright 2018 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package main |
| |
| func f() |
| func leaf() |
| |
| var f1called, f2called, f3called bool |
| |
| func main() { |
| f() |
| if !f1called { |
| panic("f1 not called") |
| } |
| if !f2called { |
| panic("f2 not called") |
| } |
| leaf() |
| if !f3called { |
| panic("f3 not called") |
| } |
| } |
| |
| func f1() { f1called = true } |
| func f2() { f2called = true } |
| func f3() { f3called = true } |
| |
| func unreachable() { |
| panic("unreachable function called") |
| } |