https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83720
Bug ID: 83720 Summary: [8 Regression] ICE: in mangle_decl, at cp/mangle.c:3847 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: doko at gcc dot gnu.org CC: marxin at gcc dot gnu.org Target Milestone: --- seen with r256272, building pybind11 $ g++ -c -std=c++14 -g -O2 -flto test_alias_initialization.ii during IPA pass: *free_lang_data :13:5: internal compiler error: in mangle_decl, at cp/mangle.c:3847 0x594554 mangle_decl(tree_node*) ../../src/gcc/cp/mangle.c:3846 0xda5077 decl_assembler_name(tree_node*) ../../src/gcc/tree.c:687 0xda5077 assign_assembler_name_if_needed(tree_node*) ../../src/gcc/tree.c:5802 0xda6468 free_lang_data_in_cgraph ../../src/gcc/tree.c:5851 0xda6468 free_lang_data ../../src/gcc/tree.c:5892 0xda6468 execute ../../src/gcc/tree.c:5943 Please submit a full bug report, with preprocessed source if appropriate. $ cat test_alias_initialization.ii # 9 "" 3 namespace b { class h { public: template <typename ae, typename af> h(ae af::*...) { [] {}; } }; class ai {}; template <typename> class c { public: template <typename ag> aj(char *, ag f) { h(f, int()); } }; } template <typename> class al; template <typename e> class i { protected: static e g(const) {} }; template <typename, typename> class j; template <typename an, typename e, typename... ao> class j<an(ao...), e> : i<e> { typedef i<e> ap; public: static an aq(const &ar, ao... as) { ap::g(ar)(as...); } }; template <typename an, typename... ao> class al<an(ao...)> { template <typename, typename a> using ax = a; public: template <typename e, typename = ax<int, void>, typename = ax<int, void>> al(e); using ay = an (*)(const &, ao...); ay az; }; template <typename an, typename... ao> template <typename e, typename, typename> al<an(ao...)>::al(e) { az = j<an(ao...), e>::aq; } class k { public: k(al<void(b::ai)>); } d([](b::ai) { struct be { virtual f(); }; struct bf; b::c<bf>().aj("", &be::f); });