This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: EEEEKS! The mangling changed!


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]