| // errorcheck -0 -+ -p=internal/runtime/sys -m | |
| // Copyright 2024 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 sys | |
| // A function that calls sys.GetCallerPC or sys.GetCallerSP | |
| // cannot be inlined, no matter how small it is. | |
| func GetCallerPC() uintptr | |
| func GetCallerSP() uintptr | |
| func pc() uintptr { | |
| return GetCallerPC() + 1 | |
| } | |
| func cpc() uintptr { // ERROR "can inline cpc" | |
| return pc() + 2 | |
| } | |
| func sp() uintptr { | |
| return GetCallerSP() + 3 | |
| } | |
| func csp() uintptr { // ERROR "can inline csp" | |
| return sp() + 4 | |
| } | |