[cxx-abi-dev] substitution for std::char_traits<char> in mangled name issue

Dennis Handly dhandly at cup.hp.com
Tue Oct 1 04:42:17 UTC 2002


>I just came across an issue with the name mangling schema used be g++ v.
>3.2.  Consider the following source:
>      __ostream_type& operator<<(__ios_type& (*__pf)(__ios_type&)) {

aC++ agrees with g++.  So do both demanglers.

>The mangled name genrated by g++ for std::basic_ostream::operator<< (the one
>in bold above) is _ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E.  Should
>it be: _ZNSolsEPFRSt9basic_iosIcS1_ES4_E?

How can it be?  Where is char_traits?
And I don't think abreviations insert substitutions.

>but why std::char_traits<char> is not substituted in the case with std
>namespace?

It is, with S3_ above which was St11char_traitsIc.

>there is a special encoding for std::char_traits<char>?
Zbigniew Sarbinowski (Zibi)  C++ for AS/400 developer

I don't see one.



More information about the cxx-abi-dev mailing list