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