]> Cypherpunks repositories - gostls13.git/commitdiff
test: add new test case for gccgo compiler bug
authorThan McIntosh <thanm@google.com>
Wed, 3 Jul 2019 18:42:32 +0000 (14:42 -0400)
committerThan McIntosh <thanm@google.com>
Mon, 8 Jul 2019 13:20:23 +0000 (13:20 +0000)
Test case that causes incorrect compiler error from gccgo.

Updates #32922

Change-Id: I59432a8e8770cf03eda293f6d110c081c18fa88b
Reviewed-on: https://go-review.googlesource.com/c/go/+/184918
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
test/fixedbugs/issue32922.dir/a.go [new file with mode: 0644]
test/fixedbugs/issue32922.dir/b.go [new file with mode: 0644]
test/fixedbugs/issue32922.go [new file with mode: 0644]

diff --git a/test/fixedbugs/issue32922.dir/a.go b/test/fixedbugs/issue32922.dir/a.go
new file mode 100644 (file)
index 0000000..b13c4b4
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2019 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 a
+
+func A() int {
+       return p("count")
+}
+
+func p(which string, args ...string) int {
+       switch which {
+       case "count", "something":
+               return 1
+       default:
+               return 2
+       }
+}
diff --git a/test/fixedbugs/issue32922.dir/b.go b/test/fixedbugs/issue32922.dir/b.go
new file mode 100644 (file)
index 0000000..fdaf42d
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright 2019 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 b
+
+import "./a"
+
+func B() int {
+       return 99 + a.A()
+}
diff --git a/test/fixedbugs/issue32922.go b/test/fixedbugs/issue32922.go
new file mode 100644 (file)
index 0000000..005c8e6
--- /dev/null
@@ -0,0 +1,11 @@
+// compiledir
+
+// Copyright 2019 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.
+
+// This directory contains a pair of packages that triggers a compiler
+// error in gccgo (problem with the way inlinable call expressions are
+// imported). See issue 32922 for details.
+
+package ignored