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!


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


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