https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68477
Bug ID: 68477
Summary: error: type variant differs by TYPE_STRING_FLAG.
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: go
Assignee: ian at airs dot com
Reporter: trippels at gcc dot gnu.org
CC: cmang at google dot com
Target Milestone: ---
markus@x4 /tmp % cat foo1.go
package foo
import "fmt"
func test() {
fmt.Println("lto");
}
markus@x4 /tmp % cat foo2.go
package foo
markus@x4 /tmp % gccgo -flto foo1.go foo2.go
go1: error: type variant differs by TYPE_STRING_FLAG.
<array_type 0x7efd23c735e8
type <integer_type 0x7efd23c73540 uint8 readonly unsigned string-flag QI
size <integer_cst 0x7efd23c35ca8 constant 8>
unit size <integer_cst 0x7efd23c35cc0 constant 1>
align 8 symtab 0 alias set -1 canonical type 0x7efd23c73540 precision 8
min <integer_cst 0x7efd23c35cd8 0> max <integer_cst 0x7efd23c35c78 255>
pointer_to_this <pointer_type 0x7efd23c73690>>
SI
size <integer_cst 0x7efd23c35df8 type <integer_type 0x7efd23c392a0
bitsizetype> constant 32>
unit size <integer_cst 0x7efd23c35e10 type <integer_type 0x7efd23c391f8
sizetype> constant 4>
align 8 symtab 0 alias set -1 canonical type 0x7efd23c735e8
domain <integer_type 0x7efd23c73498
type <integer_type 0x7efd23c391f8 sizetype public unsigned DI
size <integer_cst 0x7efd23c35bb8 constant 64>
unit size <integer_cst 0x7efd23c35bd0 constant 8>
align 64 symtab 0 alias set -1 canonical type 0x7efd23c391f8
precision 64 min <integer_cst 0x7efd23c35be8 0> max <integer_cst 0x7efd23c44460
18446744073709551615>>
DI size <integer_cst 0x7efd23c35bb8 64> unit size <integer_cst
0x7efd23c35bd0 8>
align 64 symtab 0 alias set -1 canonical type 0x7efd23c73498 precision
64 min <integer_cst 0x7efd23c35be8 0> max <integer_cst 0x7efd23c52a98 3>>
pointer_to_this <pointer_type 0x7efd23c73888>>
go1: error: TYPE_CANONICAL is not compatible
<array_type 0x7efd23c735e8
type <integer_type 0x7efd23c73540 uint8 readonly unsigned string-flag QI
size <integer_cst 0x7efd23c35ca8 constant 8>
unit size <integer_cst 0x7efd23c35cc0 constant 1>
align 8 symtab 0 alias set -1 canonical type 0x7efd23c73540 precision 8
min <integer_cst 0x7efd23c35cd8 0> max <integer_cst 0x7efd23c35c78 255>
pointer_to_this <pointer_type 0x7efd23c73690>>
SI
size <integer_cst 0x7efd23c35df8 type <integer_type 0x7efd23c392a0
bitsizetype> constant 32>
unit size <integer_cst 0x7efd23c35e10 type <integer_type 0x7efd23c391f8
sizetype> constant 4>
align 8 symtab 0 alias set -1 canonical type 0x7efd23c735e8
domain <integer_type 0x7efd23c73498
type <integer_type 0x7efd23c391f8 sizetype public unsigned DI
size <integer_cst 0x7efd23c35bb8 constant 64>
unit size <integer_cst 0x7efd23c35bd0 constant 8>
align 64 symtab 0 alias set -1 canonical type 0x7efd23c391f8
precision 64 min <integer_cst 0x7efd23c35be8 0> max <integer_cst 0x7efd23c44460
18446744073709551615>>
DI size <integer_cst 0x7efd23c35bb8 64> unit size <integer_cst
0x7efd23c35bd0 8>
align 64 symtab 0 alias set -1 canonical type 0x7efd23c73498 precision
64 min <integer_cst 0x7efd23c35be8 0> max <integer_cst 0x7efd23c52a98 3>>
pointer_to_this <pointer_type 0x7efd23c73888>>
<array_type 0x7efd23c73738
type <integer_type 0x7efd23c73540 uint8 readonly unsigned string-flag QI
size <integer_cst 0x7efd23c35ca8 constant 8>
unit size <integer_cst 0x7efd23c35cc0 constant 1>
align 8 symtab 0 alias set -1 canonical type 0x7efd23c73540 precision 8
min <integer_cst 0x7efd23c35cd8 0> max <integer_cst 0x7efd23c35c78 255>
pointer_to_this <pointer_type 0x7efd23c73690>>
string-flag SI
size <integer_cst 0x7efd23c35df8 type <integer_type 0x7efd23c392a0
bitsizetype> constant 32>
unit size <integer_cst 0x7efd23c35e10 type <integer_type 0x7efd23c391f8
sizetype> constant 4>
align 8 symtab 0 alias set -1 canonical type 0x7efd23c735e8
domain <integer_type 0x7efd23c73498
type <integer_type 0x7efd23c391f8 sizetype public unsigned DI
size <integer_cst 0x7efd23c35bb8 constant 64>
unit size <integer_cst 0x7efd23c35bd0 constant 8>
align 64 symtab 0 alias set -1 canonical type 0x7efd23c391f8
precision 64 min <integer_cst 0x7efd23c35be8 0> max <integer_cst 0x7efd23c44460
18446744073709551615>>
DI size <integer_cst 0x7efd23c35bb8 64> unit size <integer_cst
0x7efd23c35bd0 8>
align 64 symtab 0 alias set -1 canonical type 0x7efd23c73498 precision
64 min <integer_cst 0x7efd23c35be8 0> max <integer_cst 0x7efd23c52a98 3>>
pointer_to_this <pointer_type 0x7efd23c737e0>>
go1: internal compiler error: verify_type failed
0xd8026c verify_type(tree_node const*)
../../gcc/gcc/tree.c:13818
0xd81f93 free_lang_data_in_cgraph
../../gcc/gcc/tree.c:5953
0xd81f93 free_lang_data
../../gcc/gcc/tree.c:5983
0xd81f93 execute
../../gcc/gcc/tree.c:6032