2016-03-29 08:30:17 -06:00
|
|
|
// compile
|
|
|
|
|
2016-04-10 15:32:26 -06:00
|
|
|
// Copyright 2016 The Go Authors. All rights reserved.
|
2016-03-29 08:30:17 -06:00
|
|
|
// 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
|
|
|
|
}
|