// $G $D/$F.go && $L $F.$A && ./$A.out

// Copyright 2009 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.

// function call arg reordering was picking out 1 call that
// didn't need to be in a temporary, but it was picking
// out the first call instead of the last call.
// http://code.google.com/p/go/issues/detail?id=370

package main

var gen = 'a'

func f(n int) string {
	s := string(gen) + string(n+'A'-1)
	gen++
	return s
}

func g(x, y string) string {
	return x + y
}

func main() {
	s := f(1) + f(2)
	if s != "aAbB" {
		println("BUG: bug221a: ", s)
		panic("fail")
	}
	s = g(f(3), f(4))
	if s != "cCdD" {
		println("BUG: bug221b: ", s)
		panic("fail")
	}
	s = f(5) + f(6) + f(7) + f(8) + f(9)
	if s != "eEfFgGhHiI" {
		println("BUG: bug221c: ", s)
		panic("fail")
	}
}
