From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7628 invoked by alias); 8 Oct 2002 18:09:11 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 7620 invoked from network); 8 Oct 2002 18:09:10 -0000 Received: from unknown (HELO localhost.localdomain) (66.60.148.227) by sources.redhat.com with SMTP; 8 Oct 2002 18:09:10 -0000 Received: from warlock.codesourcery.com (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.11.6/8.11.6) with ESMTP id g98I71l01830; Tue, 8 Oct 2002 11:07:01 -0700 Date: Tue, 08 Oct 2002 11:57:00 -0000 From: Mark Mitchell To: Matt Austern , gcc@gcc.gnu.org Subject: Re: 3.1/3.2 C++ ABI change Message-ID: <2410000.1034085012@localhost> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-SW-Source: 2002-10/txt/msg00483.txt.bz2 > (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