1
0
mirror of https://github.com/golang/go synced 2024-07-05 09:50:19 +00:00

test: skip inlining check in escape4.go

This is the last failed test in Unified IR, since it can inline f5 and
f6 but the old frontend can not. So marking them as //go:noinline, with
a TODO for re-enable once GOEXPERIMENT=nounified is gone.

Fixes #53058

Change-Id: Ifbbc49c87997a53e1b323048f0067f0257655fad
Reviewed-on: https://go-review.googlesource.com/c/go/+/437217
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
This commit is contained in:
Cuong Manh Le 2022-10-01 00:44:43 +07:00 committed by Gopher Robot
parent 0cbe30467a
commit 1baea0ddb3
2 changed files with 6 additions and 7 deletions

View File

@ -38,6 +38,10 @@ func f2() {} // ERROR "can inline f2"
func f3() { panic(1) } // ERROR "can inline f3" "1 escapes to heap"
func f4() { recover() }
// TODO(cuonglm): remove f5, f6 //go:noinline and update the error message
// once GOEXPERIMENT=nounified is gone.
//go:noinline
func f5() *byte {
type T struct {
x [1]byte
@ -46,6 +50,7 @@ func f5() *byte {
return &t.x[0]
}
//go:noinline
func f6() *byte {
type T struct {
x struct {

View File

@ -342,9 +342,7 @@ func (t *test) initExpectFail() {
failureSets = append(failureSets, types2Failures32Bit)
}
if unifiedEnabled {
failureSets = append(failureSets, unifiedFailures)
} else {
if !unifiedEnabled {
failureSets = append(failureSets, go118Failures)
}
@ -2019,10 +2017,6 @@ var _ = setOf(
"fixedbugs/issue7525.go", // types2 reports init cycle error on different line - ok otherwise
)
var unifiedFailures = setOf(
"escape4.go", // unified IR can inline f5 and f6; test doesn't expect this
)
func setOf(keys ...string) map[string]bool {
m := make(map[string]bool, len(keys))
for _, key := range keys {