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