summaryrefslogtreecommitdiff
path: root/gcc/testsuite/go.test/test/ddd1.go
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/go.test/test/ddd1.go')
-rw-r--r--gcc/testsuite/go.test/test/ddd1.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/go.test/test/ddd1.go b/gcc/testsuite/go.test/test/ddd1.go
new file mode 100644
index 00000000000..6f714c078aa
--- /dev/null
+++ b/gcc/testsuite/go.test/test/ddd1.go
@@ -0,0 +1,28 @@
+// errchk $G -e $D/$F.go
+
+// Copyright 2010 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.
+
+package main
+
+func sum(args ...int) int { return 0 }
+
+var (
+ _ = sum(1, 2, 3)
+ _ = sum()
+ _ = sum(1.0, 2.0)
+ _ = sum(1.5) // ERROR "integer"
+ _ = sum("hello") // ERROR "convert|incompatible"
+ _ = sum([]int{1}) // ERROR "slice literal.*as type int|incompatible"
+)
+
+type T []T
+
+func funny(args ...T) int { return 0 }
+
+var (
+ _ = funny(nil)
+ _ = funny(nil, nil)
+ _ = funny([]T{}) // ok because []T{} is a T; passes []T{[]T{}}
+)