1// run
2
3// Copyright 2011 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
7// Test evaluation order in if condition.
8
9package main
10
11var calledf = false
12
13func f() int {
14	calledf = true
15	return 1
16}
17
18func g() int {
19	if !calledf {
20		panic("BUG: func7 - called g before f")
21	}
22	return 0
23}
24
25func main() {
26	// 6g, 8g, 5g all used to evaluate g() before f().
27	if f() < g() {
28		panic("wrong answer")
29	}
30}
31