Problem with `string', threading and shared libraries.

Tim Hollebeek
Fri Sep 28 17:32:00 GMT 2001

On Fri, Sep 28, 2001 at 11:33:27PM +0200, Gabriel Dos Reis wrote:
> Alexandre Oliva <> writes:
> | On Sep 28, 2001, Carlo Wood <> wrote:
> | 
> | > I was wondering, how can it be that `string' has a different
> | > mangling on different compilers/machines?  Isn't that a bug?
> | 
> | Well, it can be argued that they are actually two different classes,
> If they are really considered to be two different classes, then
> "std::string" is a truly bad choice.  
> I don't think V3 should take that word-game stance.

C++ implicitly encourages incompatible implementations to have
incompatible mangling schemes.  In the absence of a guarantee (at the
ABI level) that types are compatible, they should have distinct names.

Compatibility of types within ABI families is a useful goal, but where
it doesn't exist (even if only because of threading issues, etc), then
compilers should not compile code just because it "probably" will work.


More information about the Gcc-bugs mailing list