// $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" {
		panic("BUG: bug221a: ", s);
	}
	s = g(f(3), f(4));
	if s != "cCdD" {
		panic("BUG: bug221b: ", s);
	}
	s = f(5) + f(6) + f(7) + f(8) + f(9);
	if s != "eEfFgGhHiI" {
		panic("BUG: bug221c: ", s);
	}
}
