1// asmcheck
2
3// Copyright 2023 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
7package codegen
8
9func main() {
10	// amd64:"LEAQ\tcommand-line-arguments\\.main\\.f\\.g\\.h\\.func3"
11	f(1)()
12
13	// amd64:"LEAQ\tcommand-line-arguments\\.main\\.g\\.h\\.func2"
14	g(2)()
15
16	// amd64:"LEAQ\tcommand-line-arguments\\.main\\.h\\.func1"
17	h(3)()
18
19	// amd64:"LEAQ\tcommand-line-arguments\\.main\\.f\\.g\\.h\\.func4"
20	f(4)()
21}
22
23func f(x int) func() {
24	// amd64:"LEAQ\tcommand-line-arguments\\.f\\.g\\.h\\.func1"
25	return g(x)
26}
27
28func g(x int) func() {
29	// amd64:"LEAQ\tcommand-line-arguments\\.g\\.h\\.func1"
30	return h(x)
31}
32
33func h(x int) func() {
34	// amd64:"LEAQ\tcommand-line-arguments\\.h\\.func1"
35	return func() { recover() }
36}
37