1
0
mirror of https://github.com/golang/go synced 2024-11-22 20:04:47 -07:00

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 <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Than McIntosh 2019-06-25 20:24:15 -04:00
parent fbde753a58
commit e62c3d3503
3 changed files with 40 additions and 0 deletions

View File

@ -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)
}

View File

@ -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()
}

View File

@ -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