blob: 985ffb6e06c9fc88808cf3af13e37e16a5cf9216 [file]
// Copyright 2026 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.
// Test that a caller correctly restores its stack pointer even when
// the ABI0 NOFRAME assembly function it calls clobbers BP.
// See https://go.dev/issue/80710
package main
//go:noescape
func noframe(*int)
//go:noinline
func caller(indir func(*int)) {
var useSomeStackSpace int
noframe(&useSomeStackSpace)
indir(nil)
}
func main() {
caller(noframe)
}