EEEEKS! The mangling changed!
Gabriel Dos Reis
gdr@integrable-solutions.net
Wed Dec 3 02:34:00 GMT 2003
Loren James Rittle <rittle@latour.rsch.comm.mot.com> writes:
| > Actually.... at one point I'd suggested making __gnu_norm and
| > __gnu_debug nested namespaces within std. I thought it might make the
| > result a little more palatable to people like Carlo.
|
| Fully agreed. __gnu_norm::vector<> is not a __gnu_debug::vector<>
| even if both can be mapped to std::vector<> with 'using' statements.
Even more so, during the elaboration of "namespace association", I
have been pestering Benjamin (and Doug in his previous work) to
consider how to handle user's explicit specializations.
// consider this is a header file to be included in different
// translation units
#include <vector>
namespace his {
struct type { /* only good things here. */ };
}
namespace std {
template<>
struct vector<his::type> { /* ... */ };
}
what should be the "home" namespace of vector<his::type> ? There is
more than one answer. I think, a least surprising and non-breaking
code ones is to say that it resides in std:: and mangled as such.
| We should not make changes to aid debugging tools, if they make actual
| debugging harder. I could support a scheme where std::__x::y implied
| std::y for external tools that want to optionally hide such details.
Hmm, I would rather not do that.
-- Gaby
More information about the Libstdc++
mailing list