]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.typeparams] test: test regabidefers in live.go
authorCherry Mui <cherryyz@google.com>
Fri, 4 Jun 2021 15:09:25 +0000 (11:09 -0400)
committerCherry Mui <cherryyz@google.com>
Fri, 4 Jun 2021 17:00:48 +0000 (17:00 +0000)
Previously, live.go is conditioned on not using regabidefers. Now
we have regabidefers enabled by default everywhere, and we may
remove the fallback path in the near future, test that
configuration instead.

Change-Id: Idf910aee323bdd6478bc7a2062b2052d82ce003f
Reviewed-on: https://go-review.googlesource.com/c/go/+/325111
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
test/live.go

index bc7b3849cf3b571994f120f9ae27cc6b1fc084fa..ee51134371e37924c11efc3674608771e73675f7 100644 (file)
@@ -1,5 +1,5 @@
 // errorcheckwithauto -0 -l -live -wb=0 -d=ssa/insert_resched_checks/off
-// +build !ppc64,!ppc64le,!goexperiment.regabi,!goexperiment.regabidefer
+// +build !ppc64,!ppc64le,goexperiment.regabidefer,!goexperiment.regabiargs
 
 // ppc64 needs a better tighten pass to make f18 pass
 // rescheduling checks need to be turned off because there are some live variables across the inserted check call
@@ -424,7 +424,7 @@ func f27defer(b bool) {
        }
        defer call27(func() { x++ }) // ERROR "stack object .autotmp_[0-9]+ struct \{"
        printnl()                    // ERROR "live at call to printnl: .autotmp_[0-9]+ .autotmp_[0-9]+"
-       return                       // ERROR "live at call to call27: .autotmp_[0-9]+"
+       return                       // ERROR "live at indirect call: .autotmp_[0-9]+"
 }
 
 // and newproc (go) escapes to the heap
@@ -432,9 +432,9 @@ func f27defer(b bool) {
 func f27go(b bool) {
        x := 0
        if b {
-               go call27(func() { x++ }) // ERROR "live at call to newobject: &x$" "live at call to newproc: &x$"
+               go call27(func() { x++ }) // ERROR "live at call to newobject: &x$" "live at call to newobject: &x .autotmp_[0-9]+$" "live at call to newproc: &x$" // allocate two closures, the func literal, and the wrapper for go
        }
-       go call27(func() { x++ }) // ERROR "live at call to newobject: &x$"
+       go call27(func() { x++ }) // ERROR "live at call to newobject: &x$" "live at call to newobject: .autotmp_[0-9]+$" // allocate two closures, the func literal, and the wrapper for go
        printnl()
 }