This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Default -fabi-version=0 for 4.9
- From: Lawrence Crowl <crowl at googlers dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>, Mark Mitchell <mark at codesourcery dot com>
- Date: Tue, 5 Mar 2013 11:28:30 -0800
- Subject: Re: Default -fabi-version=0 for 4.9
- References: <5134E888.1050008@redhat.com>
On 3/4/13, Jason Merrill <jason@redhat.com> wrote:
> Our policy on mangling bugs has been that we don't change
> the mangling unless users explicitly specify -fabi-version.
> Over time, this means that quite a few bugs have been found but
> continue to accumulate. Most of these are C++11-specific, which
> means that as users use C++11 more frequently, the bugs are more
> likely to affect code in the wild.
>
> For templates, it also seems to me that mangling changes have
> very little negative impact; in most cases the worst that will
> happen is that a program ends up with two compatible versions of
> the same function. And none of the changes affect libstdc++.so.
> For non-template code, any failures will be at link time, making
> them straightforward to deal with.
>
> The only non-mangling ABI change since version 2 is to argument
> promotion of C++11 scoped enums, and since we've been telling
> people that they need to rebuild all their C++11 code with every
> major release anyway, I don't think that's an obstacle.
>
> So, for GCC 4.9 I would like to propose that we switch the
> default ABI version to 0 so that by default we use the most
> correct mangling. If people really need backward compatible
> mangling for some reason they can specify the flag appropriately.
Are you planning for C++11 ABI stability in 4.9?
--
Lawrence Crowl