Hi,

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 
way).


Ciao,
Michael.

Reply via email to