https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70909
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-11-19 Ever confirmed|0 |1 --- Comment #8 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- (In reply to Mark Wielaard from comment #7) > (In reply to Markus Trippelsdorf from comment #5) > > (In reply to Matt Godbolt from comment #4) > > > We just hit this too with code using > > > https://github.com/rollbear/trompeloeil/. The symbol > > > '_ZSt4moveIRZN11trompeloeil13call_modifierINS0_12call_matcherIFiiESt5tupleIJN > > > S0_17predicate_matcherIZNS0_11any_matcherIiEEDaPKcEUlOT_E_ZNS6_IiEES7_S9_EUlR > > > SoE_NS0_13typed_matcherIiEEJEEEEEEEN6mock_c36trompeloeil_tag_type_trompeloeil > > > _135ENS0_12matcher_infoIS3_EEE12handle_throwIZN12_GLOBAL__N_131____C_A_T_C_H_ > > > ___T_E_S_T____6454testEvE4$_42EENS1_ISJ_SL_NS0_14throw_injectorISN_EEEESB_EUl > > > RSA_E_EONSt16remove_referenceISA_E4typeESB_' causes both c++filt and gdb > > > to > > > crash. > > > > This is already fixed on trunk. > > Are you sure? The symbol still seems to crash for me and it seems the > proposed patch has not gotten in yet. Sorry, you're right. My shell messed up the symbol. When I quote it c++filt still crashes. This is what it should look like: std::remove_reference<int&&>::type&& std::move<trompeloeil::call_modifier<mock_c, trompeloeil::matcher_info, trompeloeil::throw_injector<trompeloeil::call_modifier<trompeloeil::call_matcher<int (int), std::tuple<trompeloeil::predicate_matcher<auto trompeloeil::any_matcher<int>(char const*)::'lambda'(int&&), char const trompeloeil::any_matcher<int>(int)::'lambda'(std::ostream&), trompeloeil::typed_matcher<int> > > >, mock_c::trompeloeil_tag_type_trompeloeil_135, trompeloeil::matcher_info<int (int)> > > > trompeloeil::call_modifier<trompeloeil::call_matcher<int (int), std::tuple<trompeloeil::predicate_matcher<auto trompeloeil::any_matcher<int>(char const*)::'lambda'(int&&), char const trompeloeil::any_matcher<int>(int)::'lambda'(std::ostream&), trompeloeil::typed_matcher<int> > > >, mock_c::trompeloeil_tag_type_trompeloeil_135, trompeloeil::matcher_info<int (int)> >::handle_throw<(anonymous namespace)::____C_A_T_C_H____T_E_S_T____645::test()::$_42>(auto trompeloeil::any_matcher<int>(char const*)::'lambda'(int&&))::'lambda'(int&&&)&>(auto trompeloeil::any_matcher<int>(char const*)::'lambda'(int&&))