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: Richard Guenther <richard dot guenther at gmail dot com>
- Cc: Jeff Law <law at redhat dot com>, 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>, Paolo Carlini <paolo dot carlini at oracle dot com>
- Date: Mon, 2 Jul 2012 18:31:43 +0100
- Subject: Re: libstdc++ c++98 & c++11 ABI incompatibility
- References: <4FD9E399.firstname.lastname@example.org> <email@example.com> <4FF1CFBA.firstname.lastname@example.org> <CAH6eHdTKgK0FK+iw9LLjW5Nr2gUb+26KxfLmizFNV0MO4Jd7xw@mail.gmail.com> <CAFiYyc0fG-ea0SzviAn1ihLEiWH5s0enJQLhA0trz=3=AVnj9w@mail.gmail.com>
On 2 July 2012 18:24, Richard Guenther wrote:
> On Mon, Jul 2, 2012 at 7:00 PM, Jonathan Wakely wrote:
>> 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.
> That means that C++03 std::list cannot interface with C++11 std::list
> even within the v6 ABI, right?
> ?That sounds not very much better
> than the broken ABI we have right now (unless you suggest people
> that want the C++11 std::list would have to use std::__2011::list and
> otherwise would get the C++03 std::list even with -std=c++11?).
No, I mean that with -std=c++11 there would be no 'list' declared in
namespace std. The name 'std::list' would refer to the 'list' in the
inline namespace 'std::__2011' which would be mangled differently.