C++98/C++11 ABI compatibility for gcc-4.7

Stephan Bergmann sbergman@redhat.com
Mon Jun 18 07:52:00 GMT 2012


On 06/15/2012 10:12 PM, James Y Knight wrote:
> Whether or not this particular incompatibility was intended or not, the
> point remains. You cannot say that GCC devs are taking the C++11 binary
> incompatibility issue seriously while:
> a) there exist serious ABI incompatibilities between the modes.
> b) there is essentially no notice to users about the problem (and lots of
> users already brokenly compiling in C++11 mode!)
> c) there are no recommendations or plans for how users and distros are
> expected to deal with the issue.

Trying to understand what the status quo (in GCC 4.7) is exactly:  The 
source of libstdc++ contains code conditional on 
__GXX_EXPERIMENTAL_CXX0X__ (to differentiate -std=c++11 from -std=c++98 
behavior), but such conditional code happens to remain confined to 
"inline-only" header code for now.  Therefore, a single version of 
libstdc++.so.6 is enough for both -std=c++11 and -std=c++98 applications 
(without needing to resort to additional tricks in the implementation of 
libstdc++).  Is that right?

Stephan



More information about the Gcc mailing list