EEEEKS! The mangling changed!
Gabriel Dos Reis
gdr@integrable-solutions.net
Sun Nov 30 02:29:00 GMT 2003
Carlo Wood <carlo@alinoe.com> writes:
| To my absolute horror I found today that a simple 'std::vector' is
| suddenly mangled as '__gnu_norm::vector'.
This happened a while ago as a side effect of the debug-mode work.
| That makes it nearly unrecognizable and at least questionably whenever it is
| demangled by which-ever debugging tool. When the programmer uses "std::"
| he wants it to BE "std::"
No. The programmer has absolutely no control over what is in std::.
When he/she says std::, he/she gets whatever name lookup happen to
find there.
| and that means that the abbreviation / compression
| 'St' is used in the mangled name, that was especially added even - in order
| to change the long and memory consuming 3std into just St.
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.
-- Gaby
More information about the Libstdc++
mailing list