https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87089
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 --- Comment #8 from Martin Liška <marxin at gcc dot gnu.org> --- It's still present for the following test-case: $ cat 1.ii namespace itpp { template <class a> void b(a *c) { c[0].~a(); } class CFix; template <class> class d { void e(const char *); CFix *data; }; class CFix { public: virtual ~CFix(); }; template <> void d<int>::e(const char *) { b(data); } } // namespace itpp $ cat 2.ii namespace itpp { enum a { b }; class CFix { public: virtual ~CFix(); }; template <a = b> class c : CFix { ~c() {} }; template class c<>; } // namespace itpp $ g++ -flto 1.ii 2.ii -shared -fPIC -O2 during IPA pass: devirt lto1: internal compiler error: tree check: expected class ‘type’, have ‘declaration’ (namespace_decl) in type_with_linkage_p, at ipa-utils.h:185 0x6c7d51 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.c:9856 0xa3a7fd tree_class_check(tree_node const*, tree_code_class, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.h:3555 0xa3a7fd type_with_linkage_p(tree_node const*) /home/marxin/Programming/gcc/gcc/ipa-utils.h:185 0xa3a7fd type_in_anonymous_namespace_p(tree_node const*) /home/marxin/Programming/gcc/gcc/ipa-utils.h:221 0xa311ba maybe_record_node /home/marxin/Programming/gcc/gcc/ipa-devirt.c:2531 0xa31c7c record_target_from_binfo /home/marxin/Programming/gcc/gcc/ipa-devirt.c:2675 0xa31b4a record_target_from_binfo /home/marxin/Programming/gcc/gcc/ipa-devirt.c:2687 0xa31fbd possible_polymorphic_call_targets_1 /home/marxin/Programming/gcc/gcc/ipa-devirt.c:2730 0xa37794 possible_polymorphic_call_targets(tree_node*, long, ipa_polymorphic_call_context, bool*, void**, bool) /home/marxin/Programming/gcc/gcc/ipa-devirt.c:3351 0xa39559 possible_polymorphic_call_targets(cgraph_edge*, bool*, void**, bool) /home/marxin/Programming/gcc/gcc/ipa-utils.h:118 0xa39559 ipa_devirt /home/marxin/Programming/gcc/gcc/ipa-devirt.c:3770 0xa39559 execute /home/marxin/Programming/gcc/gcc/ipa-devirt.c:4088