[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Current and upcoming toolchain changes for jessie

On 09/05/2013 06:06, Florian Weimer wrote:
> I mistyped, I meant ABI.  I'm deeply sorry about that, it mangles my
> statement quite badly.
> AFAIK, this is the major reason why the C++11 support is still marked
> as experimental.

C++ never had a set ABI in the standard. It's up to compiler/toolchain/library
writers to ensure that there aren't ABI breakages. Considering that you still
link against the same libstdc++.so.6 regardless of whether or not you use C++11
features, I don't see how avoiding C++11 features will avoid triggering a
mass-rebuild in the event of an ABI break in libstdc++6.

> std::string, std::list and probably std::shared_ptr will have to
> change ABI at some point.

When that happens, it'll probably be namespaced somehow, because the C++98
std::{string,list,shared_ptr}'s will still have to stay. Then C++11 programs
compiled against older libstdc++ will just continue to use the C++98
std::{string,list,shared_ptr} and remain binary-compatible. No recompilation
required there.

Kind regards,
Loong Jin

Attachment: signature.asc
Description: OpenPGP digital signature

Reply to: