Demangling squangled names
Andrew Macleod
amacleod@cygnus.com
Mon Apr 27 14:59:00 GMT 1998
>> Compiling libstdc++ of egcs-2.91.24 with -fsquangle and namespace std,
>> I get the identifier
>>
>> replace__t12basic_string3ZcZt18string_char_traits1ZcZQ23stdt24__default_alloc_template2b1i0Pcn1PCc
>>
>> which cannot be demangled by c++filt. I have version 1.1170 of
>> gcc/ChangeLog, so some of the squangling support should be there.
>>
>> It might be that this identifier is not well-formed. If so, please let
>> me know.
>>
The identifier is likely fine, as long as everything links. Squangling is
still a work in progress, and until recently, could not be demangled at all.
Support was put in last week, but is not 100% complete yet.
(I tried your example, and it still doesn't demangle.. the 'n' code does
not demangle yet. if 'n1' is replaced with 'Pc' then it demangles to:
basic_string<char, string_char_traits<char>, std::__default_alloc_template<1, 0> >::replace(char *, char *, char const *)
I also can't guarantee it will be the same for any 2 snapshots of the compiler.
Some of the compression isn't activated yet.
Andrew
More information about the Gcc-bugs
mailing list