// compile

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

// CL 21202 introduced a compiler crash in the handling of a varargs
// function in the same recursive group as a function that calls it.
// Nothing in the standard library caught the problem, so adding a test.

package p

func F1(p *int, a ...*int) (int, *int) {
	if p == nil {
		return F2(), a[0]
	}
	return 0, a[0]
}

func F2() int {
	var i0, i1 int
	a, _ := F1(&i0, &i1)
	return a
}