running 4.4 libstdc++ testsuite using 4.5's libstdc++ shared library

Paolo Carlini pcarlini@gmail.com
Sat Jun 26 17:39:00 GMT 2010


Hi,

> I did understand that -- but "experimental" doesn't sway my opinion.
> Once it's in the library, we should expect that people use it.

I see what you mean. But when I said experimental I meant it. We are talking about stuff often implemented - very partially, and in an unuseable way in the specific case - way before c++0x stabilized. We faced a dilemma, either not trying at all implementing some features, and not being able to report back to the committee, or make some of those small mistakes, and also offer to our users a chance to experiment with very nifty and cool stuff. Consider rvalue references themselves, a *major* facility: until the committee realized *very recently* that move constructors can throw and often no rollback is possible in that case, many implementations of the standard containers, including ours, already exploited move semantics internally in c++0x mode, arguably in a broken and unsafe way wrt exceptions. I don't think we should not have delivered that code. In general, we have to simply advice the users that our support of some c++0x facilities within the current, gcc34, abi, is weaker in terms of the normal stability guarantees we provide. In retrospect we could have probably managed the whole phase differently, like versioning separately, in a separate so, the c++0x bits, but I don't think that would have solved all our problems. And now it's too late.

Paolo



More information about the Libstdc++ mailing list