> > I bootstrapped/regtested on x86_64-linux the patch bellow. If it will work > > for Firefox and Chrome I will go ahead with it at least temporarily. > > Really? This introduced a LTO failure in the gnat.dg testsuite: > > FAIL: gnat.dg/lto8.adb (internal compiler error) > FAIL: gnat.dg/lto8.adb (test for excess errors) > WARNING: gnat.dg/lto8.adb compilation failed to produce executable > > lto1: internal compiler error: in odr_types_equivalent_p, at ipa-devirt.c:1276 > 0x86a263 odr_types_equivalent_p > /home/eric/svn/gcc/gcc/ipa-devirt.c:1276 > 0x86bf44 odr_types_equivalent_p(tree_node*, tree_node*) > /home/eric/svn/gcc/gcc/ipa-devirt.c:1718 > 0x5c563a warn_type_compatibility_p > /home/eric/svn/gcc/gcc/lto/lto-symtab.c:219
Hmm, ICE here means that we think the global symbols are defined by a type in anonymous namespace. We really need to solve the problem of reliably identifying these https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01245.html It is not at all that hard to do it, we just need to decide on the representation. I will take a look if I can improve type_in_anonymous_namepsace somehow. So Ada produces TYPE_DECL with DECL_ABSTRACT that do have TYPE_STUB_DECL with TREE_PUBLIC NULL I suppose. Honza > 0x5c6103 lto_symtab_merge > /home/eric/svn/gcc/gcc/lto/lto-symtab.c:336 > 0x5c6103 lto_symtab_merge_decls_2 > /home/eric/svn/gcc/gcc/lto/lto-symtab.c:520 > 0x5c6103 lto_symtab_merge_decls_1 > /home/eric/svn/gcc/gcc/lto/lto-symtab.c:671 > 0x5c6103 lto_symtab_merge_decls() > /home/eric/svn/gcc/gcc/lto/lto-symtab.c:694 > 0x5bb9cc read_cgraph_and_symbols > /home/eric/svn/gcc/gcc/lto/lto.c:2891 > 0x5bb9cc lto_main() > /home/eric/svn/gcc/gcc/lto/lto.c:3277 > > -- > Eric Botcazou