On Wed, 7 Feb 2018, Simon Marchi wrote:
> On 2018-02-07 12:30, Jonathan Wakely wrote:
> >> Ah ok, the class name appears mangled in other entities' mangled name. But
> >> from what I understand there's no mangled name for the class such that
> >> echo <class mangled name> | c++filt
> >> outputs the class name (e.g. "Foo<10>"). That wouldn't make sense, since
> >> there's no symbol for the class itself.
> > echo _Z3FooILi10EE | c++filt
> Ok, thanks for the precision!
As I said upthread, the mangled name of a type (sans _Z prefix) is what is
stored as the type name for RTTI purposes (i.e. std::type_info::name()).
It's just that the debug info currently doesn't have any reference to that
definitely-unique string, only to the "human-friendly" name, which
somewhat resembles the demangled name (and that's exactly the crux, it
really isn't the demangled one right now, as you found out the painful