/
proc
/
self
/
root
/
opt
/
golang
/
1.22.0
/
test
/
fixedbugs
/
up file
home
// run // Copyright 2013 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 import ( "fmt" "os" "runtime" "testing" ) type T struct { int } var globl *T func F() { t := &T{} globl = t } func G() { t := &T{} _ = t } func main() { nf := testing.AllocsPerRun(100, F) ng := testing.AllocsPerRun(100, G) if int(nf) > 1 { fmt.Printf("AllocsPerRun(100, F) = %v, want 1\n", nf) os.Exit(1) } if int(ng) != 0 && (runtime.Compiler != "gccgo" || int(ng) != 1) { fmt.Printf("AllocsPerRun(100, G) = %v, want 0\n", ng) os.Exit(1) } }