]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/live2.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / live2.go
index 1bd0af2cc18654f62d6e637f2e99617e95bea63e..2beac4f8d2bbe4e70711c209383dc198a47829d5 100644 (file)
@@ -1,6 +1,6 @@
 // errorcheck -0 -live -wb=0
 
-// Copyright 2014 The Go Authors.  All rights reserved.
+// Copyright 2014 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
 package main
 
 // issue 8142: lost 'addrtaken' bit on inlined variables.
-// no inlining in this test, so just checking that non-inlined works.
 
 func printnl()
 
+//go:noescape
+func useT40(*T40)
+
 type T40 struct {
        m map[int]int
 }
 
 func newT40() *T40 {
        ret := T40{}
-       ret.m = make(map[int]int) // ERROR "live at call to makemap: &ret"
+       ret.m = make(map[int]int, 42) // ERROR "live at call to makemap: &ret$"
        return &ret
 }
 
 func bad40() {
-       t := newT40() // ERROR "live at call to makemap: ret"
-       printnl()     // ERROR "live at call to printnl: ret"
-       _ = t
+       t := newT40() // ERROR "stack object ret T40$" "stack object .autotmp_[0-9]+ runtime.hmap$"
+       printnl()     // ERROR "live at call to printnl: ret$"
+       useT40(t)
 }
 
 func good40() {
-       ret := T40{}
-       ret.m = make(map[int]int) // ERROR "live at call to makemap: ret"
+       ret := T40{}                  // ERROR "stack object ret T40$"
+       ret.m = make(map[int]int, 42) // ERROR "stack object .autotmp_[0-9]+ runtime.hmap$"
        t := &ret
-       printnl() // ERROR "live at call to printnl: ret"
-       _ = t
+       printnl() // ERROR "live at call to printnl: ret$"
+       useT40(t)
 }