// RUN: llgo -o %t %s | |
// RUN: %t 2>&1 | FileCheck %s | |
// CHECK: f1 | |
// CHECK-NEXT: f2 | |
// CHECK-NEXT: f3 | |
// CHECK-NEXT: f4 | |
// CHECK-NEXT: 123 | |
package main | |
func f1() { | |
if true { | |
println("f1") | |
return | |
} | |
for { | |
} | |
} | |
func f2() { | |
defer func() { println("f2") }() | |
if true { | |
return | |
} | |
for { | |
} | |
} | |
func f3() int { | |
if true { | |
println("f3") | |
return 123 | |
} | |
for { | |
} | |
} | |
func f4() int { | |
defer func() { println("f4") }() | |
if true { | |
return 123 | |
} | |
for { | |
} | |
} | |
func main() { | |
f1() | |
f2() | |
f3() | |
println(f4()) | |
} |