This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: EEEEKS! The mangling changed!
On Wed, Dec 03, 2003 at 03:17:33AM +0100, Gabriel Dos Reis wrote:
> Mechanic renaming of __gnu_norm::vector<MyType> to std::vector<MyType>
> makes the assumption that there is no std::vector<dMyType> lurking
> there.
That is correct.
> Some assumptions does not hold in general -- by design.
But this one does. It would be an error if there did exist
a __gnu_norm::vector<MyType> and a std::vector<MyType> at
the same time.
Now I assume you are refering to specialization of vector<MyType>
inside namespace std by the user, but - because of the 'strong'
attribute of the 'using namespace std' in namespace __gnu_norm,
that would give rize to no __gnu_norm::vector<MyType> being
emitted right? So there will be no problem as a result of
mangling __gnu_norm:: as "St". This is a logical result of
the whole idea behind __gnu_norm. If using "St" would break
anything, then the _current_ design is broken.
> It may look similar, but I don't think it is the same. And I stated
> before (both when you initialy submitted your work and when I sent a
> message a few days ago), that clearly indicate something is fishy.
I don't think so. It might seem so to you, but I think there
is no problem whatsoever. That placing me in a weaker position:
it will be easier for you to prove me wrong by giving a single
example that fails, then for me to prove I am right... Please
give an example that shows that changing the mangling of __gnu_norm
into whatever std is mangled to will give problems while in the
same situation without that mangling change it would be fine.
--
Carlo Wood <carlo@alinoe.com>