This is the mail archive of the
mailing list for the libstdc++ project.
Re: libstdc++ c++98 & c++11 ABI incompatibility
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: michael dot meeks at suse dot com, Matthias Klose <doko at ubuntu dot com>, gcc <gcc at gcc dot gnu dot org>, "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Mon, 2 Jul 2012 18:00:05 +0100
- Subject: Re: libstdc++ c++98 & c++11 ABI incompatibility
- References: <4FD9E399.email@example.com> <firstname.lastname@example.org> <4FF1CFBA.email@example.com>
On 2 July 2012 17:43, Jeff Law <firstname.lastname@example.org> wrote:
> On 07/02/2012 10:26 AM, Michael Meeks wrote:
>> On Thu, 2012-06-14 at 15:14 +0200, Matthias Klose wrote:
>>> While PR53646 claims that c++98 and c++11 should be ABI
>>> compatible (modulo bugs), the addition of the _M_size member
>>> to std::_List_base::_List_impl makes libraries using
>>> std::list in headers incompatible
>> ? ? ? ? This is pretty nasty for LibreOffice (and no doubt others). We
>> can, and
>> often do depend on rather a number of system C++ libraries and at a very
>> minimum, having no simple way to detect which C++ ABI we have to build
>> against 'old' vs. 'new' - is profoundly unpleasant.
>> ? ? ? ? Is there no chance of having a bug fix that is a revision of the
>> (unintended?) ABI breakage in this compiler series ?
> That's the direction I'd prefer to see (reversion until we're ready to make
> the wholesale ABI changes). ?Not sure what the libstdc++ maintainers are
> thinking right now.
I'm wondering why the libstdc++ list was taken out of the CC list ;-)
I don't know what the others think but rather than just reverting it
I'd like to see inline namespaces used so that in C++11 mode std::list
refers to (for example) std::__2011::list, which has the additional
member. That wouldn't link to C++03's std::list.