Skip to content

Commit

Permalink
test: add testcase for gccgo compile failure
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
thanm committed Jul 2, 2019
1 parent fbde753 commit e62c3d3
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
18 changes: 18 additions & 0 deletions 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)
}
11 changes: 11 additions & 0 deletions 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()
}
11 changes: 11 additions & 0 deletions 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

0 comments on commit e62c3d3

Please sign in to comment.