mirror of https://github.com/golang/go.git
test: simplify fixedbugs/issue15747.go
The error check patterns in this test are more complex than necessary because f2 gets inlined into f1. This behavior isn't important to the test, so disable inlining of f2 and simplify the error check patterns. Change-Id: Ia8aee92a52f9217ad71b89b2931494047e8d2185 Reviewed-on: https://go-review.googlesource.com/31132 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
9897e40811
commit
ad5fd2872f
|
|
@ -22,15 +22,16 @@ func f1(q *Q, xx []byte) interface{} { // ERROR "live at entry to f1: xx" "live
|
|||
// xx was live for the first two prints but then it switched to &xx
|
||||
// being live. We should not see plain xx again.
|
||||
if b {
|
||||
global = &xx // ERROR "live at call to writebarrierptr: &xx[^x]*$"
|
||||
global = &xx // ERROR "live at call to writebarrierptr: &xx$"
|
||||
}
|
||||
xx, _, err := f2(xx, 5) // ERROR "live at call to newobject:( d)? &xx( odata.ptr)?" "live at call to writebarrierptr: (e|err.data err.type)$"
|
||||
xx, _, err := f2(xx, 5) // ERROR "live at call to writebarrierptr: err.data err.type$" "live at call to f2: &xx$"
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
//go:noinline
|
||||
func f2(d []byte, n int) (odata, res []byte, e interface{}) { // ERROR "live at entry to f2: d"
|
||||
if n > len(d) {
|
||||
return d, nil, &T{M: "hello"} // ERROR "live at call to newobject: d"
|
||||
|
|
|
|||
Loading…
Reference in New Issue