aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2020-07-10 09:56:00 -0700
committerIan Lance Taylor <iant@golang.org>2020-08-15 01:42:57 +0000
commit6072d6ee3e173bb46370dabc158e2cb25a6f4877 (patch)
treea0386ab73fec3f8df772db7be50907b6d97b1960
parentf71444955a4c0962abb334a8f39438466c57a4db (diff)
downloadgo-6072d6ee3e173bb46370dabc158e2cb25a6f4877.tar.xz
test: add a test case that gccgo fails to compile
Change-Id: If36394e059cdae49834d26ad4ffdd3092a72a0b8 Reviewed-on: https://go-review.googlesource.com/c/go/+/241997 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-rw-r--r--test/fixedbugs/bug509.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/fixedbugs/bug509.go b/test/fixedbugs/bug509.go
new file mode 100644
index 0000000000..df6ed61f89
--- /dev/null
+++ b/test/fixedbugs/bug509.go
@@ -0,0 +1,30 @@
+// compile
+
+// Copyright 2020 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 mishandles a couple of alias cases.
+
+package p
+
+type S struct{}
+
+func (*S) M() {}
+
+type I interface {
+ M()
+}
+
+type A = *S
+
+var V1 I
+var _ = V1.(*S)
+var _ = V1.(A)
+
+func F() {
+ var v I
+ v = (*S)(nil)
+ v = A(nil)
+ _ = v
+}