From e62c3d35033a42dac3ea38a5f86cf0b8f6f74a42 Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Tue, 25 Jun 2019 20:24:15 -0400 Subject: [PATCH] test: add testcase for gccgo compile failure Test case that caused a compiler crash in gofrontend, related to exporting inlinable function bodies. Updates #32778 Change-Id: Iacf1753825d5359da43e5e281189876d4c3dd3c9 Reviewed-on: https://go-review.googlesource.com/c/go/+/183851 Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot --- test/fixedbugs/issue32778.dir/a.go | 18 ++++++++++++++++++ test/fixedbugs/issue32778.dir/b.go | 11 +++++++++++ test/fixedbugs/issue32778.go | 11 +++++++++++ 3 files changed, 40 insertions(+) create mode 100644 test/fixedbugs/issue32778.dir/a.go create mode 100644 test/fixedbugs/issue32778.dir/b.go create mode 100644 test/fixedbugs/issue32778.go diff --git a/test/fixedbugs/issue32778.dir/a.go b/test/fixedbugs/issue32778.dir/a.go new file mode 100644 index 0000000000..1e6ac01233 --- /dev/null +++ b/test/fixedbugs/issue32778.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 + +import "strings" + +type Name string + +type FullName string + +func (n FullName) Name() Name { + if i := strings.LastIndexByte(string(n), '.'); i >= 0 { + return Name(n[i+1:]) + } + return Name(n) +} diff --git a/test/fixedbugs/issue32778.dir/b.go b/test/fixedbugs/issue32778.dir/b.go new file mode 100644 index 0000000000..a0ee398d26 --- /dev/null +++ b/test/fixedbugs/issue32778.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 Expo(fn a.FullName) a.Name { + return fn.Name() +} diff --git a/test/fixedbugs/issue32778.go b/test/fixedbugs/issue32778.go new file mode 100644 index 0000000000..83456d4a99 --- /dev/null +++ b/test/fixedbugs/issue32778.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 +// crash in gccgo (problem with tracking indirectly referenced +// packages during exporting). See issue 32778 for details. + +package ignored -- 2.50.0