EEEEKS! The mangling changed!

Matt Austern austern@apple.com
Thu Dec 4 18:23:00 GMT 2003


On Dec 3, 2003, at 9:45 PM, Alexandre Oliva wrote:

> On Dec  1, 2003, Gabriel Dos Reis <gdr@integrable-solutions.net> wrote:
>
>> Alexandre Oliva <aoliva@redhat.com> writes:
>> | On Nov 30, 2003, Gabriel Dos Reis <gdr@integrable-solutions.net> 
>> wrote:
>> |
>> | > Not everything in std:: gets resolved to __gnu_norm::.  You might 
>> want
>> | > to consult the documentation relating that work.  Things that are
>> | > really defined in std are still mangled as before.
>> |
>> | This is a major issue.  When the Standard says something is defined 
>> in
>> | the ::std:: namespace, it has to be, otherwise template
>> | specializations won't work, because they have to be defined in the
>> | same namespace as the original template definition.
>
>> Did you take a look at the documentation?
>
> Just did.  Thanks for letting me know there was something to be read
> :-)
>
>> Template specialization in
>> std:: just works as before.
>
> Except that the mangled name is not what one would be entitled to
> expect.  If the Standard says something is in namespace std, it had
> better be, and its name mangling should reflect that, otherwise we're
> defeating a major point of the multi-vendor C++ ABI.

The C++ ABI deliberately doesn't address the library.  That's a major
lack, and we would have liked for it to cover the library, but when we
thought about it we decided it was just too hard.  Maybe someone will
figure out a way to address the library in a future version of the ABI
document.

			--Matt



More information about the Libstdc++ mailing list