// 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 | |
} |