| // run |
| |
| // Copyright 2021 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 |
| |
| const p0exp = "foo" |
| const p1exp = 10101 |
| const p2exp = 3030303 |
| const p3exp = 505050505 |
| const p4exp = 70707070707 |
| |
| //go:noinline |
| //go:registerparams |
| func callee(p0 string, p1 uint64, p2 uint64, p3 uint64, p4 uint64) { |
| if p0 != p0exp { |
| panic("bad p0") |
| } |
| if p1 != p1exp { |
| panic("bad p1") |
| } |
| if p2 != p2exp { |
| panic("bad p2") |
| } |
| if p3 != p3exp { |
| panic("bad p3") |
| } |
| if p4 != p4exp { |
| panic("bad p4") |
| } |
| defer func(p0 string, p2 uint64) { |
| if p0 != p0exp { |
| panic("defer bad p0") |
| } |
| if p1 != p1exp { |
| panic("defer bad p1") |
| } |
| if p2 != p2exp { |
| panic("defer bad p2") |
| } |
| }(p0, p2) |
| } |
| |
| func main() { |
| callee(p0exp, p1exp, p2exp, p3exp, p4exp) |
| } |