[Bug c++/67269] demangler does not handle constructor of substituted name correctly

ian at airs dot com gcc-bugzilla@gcc.gnu.org
Wed Aug 19 18:51:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67269

--- Comment #1 from Ian Lance Taylor <ian at airs dot com> ---
Here is a similar, though different, case involving a constructor:

_ZZN1C1D1E1F1G1HEvENUlvE_C2EOS4_

The demangler currently turns this into:

C::D::E::F::G::H()::{lambda()#1}::H({lambda()#1}&&)

That is clearly wrong: H is part of the local name.  It's not the constructor. 
The correct demangling would probably be

C::D::E::F::G::H()::{lambda()#1}::{lambda()#1}({lambda()#1}&&)



More information about the Gcc-bugs mailing list