mirror of
https://github.com/golang/go
synced 2024-11-19 10:24:43 -07:00
25 lines
560 B
Go
25 lines
560 B
Go
|
// 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
|
||
|
}
|