| // asmcheck | |
| // Copyright 2023 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 codegen | |
| func main() { | |
| // amd64:"LEAQ command-line-arguments\\.main\\.f\\.g\\.h\\.func3" | |
| f(1)() | |
| // amd64:"LEAQ command-line-arguments\\.main\\.g\\.h\\.func2" | |
| g(2)() | |
| // amd64:"LEAQ command-line-arguments\\.main\\.h\\.func1" | |
| h(3)() | |
| // amd64:"LEAQ command-line-arguments\\.main\\.f\\.g\\.h\\.func4" | |
| f(4)() | |
| } | |
| func f(x int) func() { | |
| // amd64:"LEAQ command-line-arguments\\.f\\.g\\.h\\.func1" | |
| return g(x) | |
| } | |
| func g(x int) func() { | |
| // amd64:"LEAQ command-line-arguments\\.g\\.h\\.func1" | |
| return h(x) | |
| } | |
| func h(x int) func() { | |
| // amd64:"LEAQ command-line-arguments\\.h\\.func1" | |
| return func() { recover() } | |
| } | |