1// run
2
3// Copyright 2013 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7package main
8
9import (
10	"fmt"
11	"os"
12	"testing"
13)
14
15var globl *int
16
17func G() {
18	F()
19}
20
21func F() {
22	var x int
23	globl = &x
24}
25
26func main() {
27	nf := testing.AllocsPerRun(100, F)
28	ng := testing.AllocsPerRun(100, G)
29	if int(nf) > 1 {
30		fmt.Printf("AllocsPerRun(100, F) = %v, want 1\n", nf)
31		os.Exit(1)
32	}
33	if int(ng) > 1 {
34		fmt.Printf("AllocsPerRun(100, G) = %v, want 1\n", ng)
35		os.Exit(1)
36	}
37}
38