This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 3.1/3.2 C++ ABI change


(If I'm wrong on the above, and if this vtable change is just a bug,
please correct me.)
You're correct.

So,...
(1) Was it the intention behind the ABI compatibility switch that it
should cover this vtable change?
No.

The point of 3.2 was to provide a stable point from which we would try
to maintain compatibility for a long period of time.  Bugs that we have
found after that point are under control of the ABI switch.  Nobody
has a clear plan for when (or if) that new mode will become the default;
note, however, that the 3.2 ABI has known bugs, not with respect to the
ABI, but with respect to the language.  (For example, there are ways to
get two objects of the same type at the same address.)

(2) If Apple provided code allowing C++ ABI compatibility with 3.1,
would people be interested?
I don't know.

Personally, I think it's tempting to add these switches, but
next-to-impossible to implement them.  Something will change at some
point, without anyone meaning to change it; I think these switches
tend to offer a false hope.  And everyone making changes going forward
has to understand all of the ABIs and all of the weird code we're
keeping around that is wrong, but was used in one of the old ABIs.

I am hoping that we will not switch the default from the 3.2 ABI until
we are more confident we've got the new ABI right; to me, that means at
least passing our testsuite.  (G++ is doing pretty well on the layout
stuff that we have now, but we have not completed the rest of the work.)

So, *I* am not interested -- but I would not launch a concerted
campaign to stop you. :-)

--
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]