This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++ ABI Issues
On Tuesday 27 August 2002 14:33, Nathan Sidwell wrote:
> Mark Mitchell wrote:
> > Therefore, we will have to choose whether or not we want to change G++
> > to match the specification.
> >
> >
> > If we are going to fix G++, we also have to decide how urgently to do
> > another release.
>
> We should not rush into producing another release with a slightly tweaked
> abi.
>
> My thoughts are,
>
> Patch 3.2 with a -warn-future-abi (defaults to off), and
> use that to add warnings of known discrepancies. This should be added
> to HEAD.
Great idea, but I would also like it in the 3.2 branch to be included in 3.2.1
and called -Wabi
> Add -fabi-patch-level (defaults to '3.2'), to HEAD, and put
> the fixes in there, gated on that switch being > 3.2. When 3.3 is due for
> release, we can decide whether -fabi-patch-level should default to 3.3 or
> remain at 3.2.
Since 3.3 has to stay compatible with 3.2, the 3.2 ABI will most likely have
to stay default. As such I think your versioning of the ABI is unfortunate.
Instead I would like a -fabi= switch that defaults to 1 being the g++ 3.2 abi,
and increased at every point-release if new ABI-fixes are in. If you set
-fabi=0 or -fabi-latest it would default to the most recent patch level.
Unfortunatly, that way we could end up with a lot of supported patch levels.
Another solution might just be to only support two ABI levels: 3.2 and "the
best we can do". "The best we can do" would imply that it could change
between any two releases, even minor ones! (3.3.1 to 3.3.2) If at one point
we decide "the best we can do" is good enough it might be stabilized and
become the ABI for GCC 3.4 or later.