mirror of
https://github.com/golang/go
synced 2024-10-04 15:09:59 +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:
parent
0cbe30467a
commit
1baea0ddb3
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue