]> Cypherpunks repositories - gostls13.git/commitdiff
test: add test case that failed with gccgo
authorIan Lance Taylor <iant@golang.org>
Wed, 11 Jul 2018 17:51:13 +0000 (10:51 -0700)
committerIan Lance Taylor <iant@golang.org>
Wed, 11 Jul 2018 18:14:35 +0000 (18:14 +0000)
Updates #26335

Change-Id: Ibfb1e232a0c66fa699842c8908ae5ff0f5d2177d
Reviewed-on: https://go-review.googlesource.com/123316
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

test/fixedbugs/issue26335.go [new file with mode: 0644]

diff --git a/test/fixedbugs/issue26335.go b/test/fixedbugs/issue26335.go
new file mode 100644 (file)
index 0000000..a97b4b6
--- /dev/null
@@ -0,0 +1,32 @@
+// run
+
+// Copyright 2018 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.
+
+// gccgo mishandled passing a struct with an empty field through
+// reflect.Value.Call.
+
+package main
+
+import (
+       "reflect"
+)
+
+type Empty struct {
+       f1, f2 *byte
+       empty struct{}
+}
+
+func F(e Empty, s []string) {
+       if len(s) != 1 || s[0] != "hi" {
+               panic("bad slice")
+       }
+}
+
+func main() {
+       reflect.ValueOf(F).Call([]reflect.Value{
+               reflect.ValueOf(Empty{}),
+               reflect.ValueOf([]string{"hi"}),
+       })
+}