Commit 3c46f49f authored by Hugues Bruant's avatar Hugues Bruant Committed by Michael Munday

cmd/compile: fix incorrect go:noinline usage

This pragma is not actually honored by the compiler.
The tests implicitly relied on the inliner being unable
to inline closures with captured variables, which will
soon change.

Fixes #22208

Change-Id: I13abc9c930b9156d43ec216f8efb768952a29439
Reviewed-on: https://go-review.googlesource.com/73211Reviewed-by: default avatarMichael Munday <mike.munday@ibm.com>
parent eac6fe08
......@@ -242,7 +242,7 @@ var allAsmTests = []*asmTests{
{
arch: "arm",
os: "linux",
imports: []string{"math/bits"},
imports: []string{"math/bits", "runtime"},
tests: linuxARMTests,
},
{
......@@ -1020,12 +1020,11 @@ var linuxAMD64Tests = []*asmTest{
// make sure assembly output has matching offset and base register.
fn: `
func f72(a, b int) int {
//go:noinline
func() {_, _ = a, b} () // use some frame
runtime.GC() // use some frame
return b
}
`,
pos: []string{"b\\+40\\(SP\\)"},
pos: []string{"b\\+24\\(SP\\)"},
},
{
// check load combining
......@@ -1803,8 +1802,7 @@ var linuxARMTests = []*asmTest{
// make sure assembly output has matching offset and base register.
fn: `
func f13(a, b int) int {
//go:noinline
func() {_, _ = a, b} () // use some frame
runtime.GC() // use some frame
return b
}
`,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment