From ddc8439b2f2d5ca85ccc02aa317d81351c62a62d Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Wed, 3 Jul 2019 14:42:32 -0400 Subject: [PATCH] test: add new test case for gccgo compiler bug 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 TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor Reviewed-by: Cherry Zhang --- test/fixedbugs/issue32922.dir/a.go | 18 ++++++++++++++++++ test/fixedbugs/issue32922.dir/b.go | 11 +++++++++++ test/fixedbugs/issue32922.go | 11 +++++++++++ 3 files changed, 40 insertions(+) create mode 100644 test/fixedbugs/issue32922.dir/a.go create mode 100644 test/fixedbugs/issue32922.dir/b.go create mode 100644 test/fixedbugs/issue32922.go diff --git a/test/fixedbugs/issue32922.dir/a.go b/test/fixedbugs/issue32922.dir/a.go new file mode 100644 index 0000000000..b13c4b404d --- /dev/null +++ b/test/fixedbugs/issue32922.dir/a.go @@ -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 index 0000000000..fdaf42d3df --- /dev/null +++ b/test/fixedbugs/issue32922.dir/b.go @@ -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 index 0000000000..005c8e68cb --- /dev/null +++ b/test/fixedbugs/issue32922.go @@ -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