how do I demangle the name from typeinfo(obj).name()?

David Baraff deb@pixar.com
Fri Oct 13 13:26:00 GMT 2000


[Apologies for cross-post; couldn't decide which one was really
correct.]
I'm trying to demangle names that come back from typeinfo, e.g.

    cout << typeinfo(someObject).name() << "\n";

Some of the things I get out are successfully demangled using the
c++filt program (with
option -edg) but some simple things are not!!  I add the required "__"
(two underscores)
but that doesn't always work.

Here are some outputs:
    6foobar    /* demangles after adding __ */
    t4list2Z6foobarZt15TaggedAllocator1Z6foobar  /* demangles after
adding __ */
    i             /* doesn't demangle no matter what */
    Fv_i      /* doesn't demangle no matter what */


Sadly, the last two cases are, respectively, printing the signatures
of an int, and main.


Could someone PLEASE tell me how to consistently demangle these names?




More information about the Gcc mailing list