From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25115 invoked by alias); 8 Aug 2011 17:42:53 -0000 Received: (qmail 25094 invoked by uid 22791); 8 Aug 2011 17:42:53 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-wy0-f175.google.com (HELO mail-wy0-f175.google.com) (74.125.82.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 08 Aug 2011 17:42:39 +0000 Received: by wyf19 with SMTP id 19so242798wyf.20 for ; Mon, 08 Aug 2011 10:42:37 -0700 (PDT) Received: by 10.216.185.9 with SMTP id t9mr3254894wem.94.1312825357479; Mon, 08 Aug 2011 10:42:37 -0700 (PDT) Received: from [192.168.1.2] (143.176.115.78.rev.sfr.net [78.115.176.143]) by mx.google.com with ESMTPS id 8sm1135751wbx.34.2011.08.08.10.42.33 (version=SSLv3 cipher=OTHER); Mon, 08 Aug 2011 10:42:34 -0700 (PDT) Subject: Re: PATCH RFA: Build stages 2 and 3 with C++ Mime-Version: 1.0 (Apple Message framework v1244.3) Content-Type: text/plain; charset=windows-1252 From: Romain Geissler In-Reply-To: Date: Mon, 08 Aug 2011 17:42:00 -0000 Cc: gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org Content-Transfer-Encoding: quoted-printable Message-Id: <275E76F7-69B1-408C-9DC6-2C08BDBB5036@gmail.com> References: To: Ian Lance Taylor X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2011-08/txt/msg00171.txt.bz2 Hi Le 16 juil. 2011 =E0 08:52, Ian Lance Taylor a =E9crit : > I would like to propose this patch as a step toward building gcc using a > C++ compiler. This patch builds stage1 with the C compiler as usual, > and defaults to building stages 2 and 3 with a C++ compiler built during > stage 1. This means that the gcc installed and used by most people will > be built by a C++ compiler. This will ensure that gcc is fully > buildable with C++, while retaining the ability to bootstrap with only a > C compiler, not a C++ compiler. This will permit us to experiment with > optionally using C++ for some code, using a #ifdef to select the C > implementation or the C++ implementation. >=20 > I would suggest that we consider releasing 4.7 this way, as a small > trial for building gcc with C++. >=20 > This is a big step, so I am sending the patch to both gcc@ and > gcc-patches@ for comments. >=20 > Bootstrapped and ran testsuite on x86_64-unknown-linux-gnu. >=20 > Ian This new build behavior broke former plugins built with gcc. Indeed, all cc1 function symbols are now mangled and thus with the current trunk, plugins should also look for mangled symbols (and so built with g++). What's the new GCC policy about that ? Do plugins have to be built using g++ only, or does the plugin developer have the choice to use both gcc and g++ according to it's need (at the cost of adding extern "C" {=85} in almost every headers to forbid mangling) ? Romain Geissler