From patchwork Sun Aug 12 22:38:04 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 176807 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id E01FB2C0097 for ; Mon, 13 Aug 2012 08:38:26 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1345415907; h=Comment: DomainKey-Signature:Received:Received:Received:Received: MIME-Version:Received:Received:In-Reply-To:References:Date: Message-ID:Subject:From:To:Cc:Content-Type:Mailing-List: Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:Sender:Delivered-To; bh=pYqRmtN5GvTdDTP6tebtFDwvzlA=; b=nK1TgvqLp1WtJoJdkmrYe+zYaAkIjV2xEvy1z9iewXXV1g7IhAubXeBuBTuqlB 4+pYWeHSgH/P1vDEcprPyYCp9jZmEQmNi6jLULMQhBtveLBy6XfXBD/Ok8NSqqMB R6fLjStamOV28eNhTqzE30+ESMmSBugrwVY+9G0ZVucuw= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:MIME-Version:Received:Received:In-Reply-To:References:Date:Message-ID:Subject:From:To:Cc:Content-Type:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=VzmJoUZzg7ByEqd/7vMOxdgz8Sqc2gcDPuQvWoxbEFBc7uoKGZkUIaUHejxy1c ZeUx7eV8hVk2x+9CGKpcF6hs01JcGPziVShAMtamrKsOVa+f/2TsJObk6o4ZOgMo isWhDVN+4mVCQ3tp4jWTE2oCe9w3uTZ+6AWX5h2ZBq7LY=; Received: (qmail 5308 invoked by alias); 12 Aug 2012 22:38:21 -0000 Received: (qmail 5296 invoked by uid 22791); 12 Aug 2012 22:38:19 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, KHOP_RCVD_TRUST, KHOP_THREADED, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE, TW_CX X-Spam-Check-By: sourceware.org Received: from mail-vc0-f175.google.com (HELO mail-vc0-f175.google.com) (209.85.220.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 12 Aug 2012 22:38:05 +0000 Received: by vcbfy27 with SMTP id fy27so3112962vcb.20 for ; Sun, 12 Aug 2012 15:38:04 -0700 (PDT) MIME-Version: 1.0 Received: by 10.52.38.65 with SMTP id e1mr6174482vdk.110.1344811084134; Sun, 12 Aug 2012 15:38:04 -0700 (PDT) Received: by 10.58.234.39 with HTTP; Sun, 12 Aug 2012 15:38:04 -0700 (PDT) In-Reply-To: References: <20120812200427.GA12561@google.com> Date: Sun, 12 Aug 2012 15:38:04 -0700 Message-ID: Subject: Re: Merge C++ conversion into trunk (0/6 - Overview) From: "H.J. Lu" To: Diego Novillo Cc: gcc-patches@gcc.gnu.org, Lawrence Crowl , bonzini@gnu.org, dj@redhat.com, rguenther@suse.de, tromey@redhat.com, laurynas.biveinis@gmail.com X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On Sun, Aug 12, 2012 at 3:33 PM, H.J. Lu wrote: > On Sun, Aug 12, 2012 at 1:04 PM, Diego Novillo wrote: >> I will be sending 6 patches that implement all the changes we >> have been making on the cxx-conversion branch. As described in >> http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html, these patches >> change the default bootstrap process so that stage 1 always >> builds with a C++ compiler. >> >> Other than the bootstrap change, the patches make no functional >> changes to the compiler. Everything should build as it does now >> in trunk. >> >> I have split the merge in 6 main patches. I will send these >> patches to the respective maintainers and gcc-patches. >> Please remember that the patches conform to the new C++ coding >> guidelines (http://gcc.gnu.org/codingconventions.html#Cxx_Conventions): >> >> 1- Configuration changes. >> 2- Re-write of VEC. >> 3- Re-write of gengtype to support C++ templates and >> user-provided marking functions. >> 4- New hash table class. >> 5- Re-write double_int. >> 6- Implement tree macros as inline functions so they can be >> called from gdb. >> >> As discussed before, several of these patches do not fully change >> the call sites to use the new APIs. We will do this change once >> the branch has been merged into trunk. Otherwise, the branch >> becomes a maintenance nightmare (despite not having changed many >> caller sites we were already starting to run into maintenance >> problems). >> >> For those who would like to build the conversion, you can either >> checkout the branch from SVN >> (svn://gcc.gnu.org/gcc/branches/cxx-conversion) or get the merged >> trunk I have in the git repo (branch dnovillo/cxx-conversion). >> > > dnovillo/cxx-conversion git branch failed to bootstrap on > Fedora 17 x86-64 when configured with > > --enable-languages=c,c++,fortran,java,lto,objc,obj-c++,go > > I got > > /export/gnu/import/git/gcc-x32/gcc/objc/objc-act.c: In function > \u2018tree_node* objc_build_constructor(tree, > vec_t*)\u2019: > /export/gnu/import/git/gcc-x32/gcc/objc/objc-act.c:3212:44: error: > base operand of \u2018->\u2019 has non-pointer type > \u2018constructor_elt_d\u2019 > if (!VEC_index (constructor_elt, elts, 0)->index) > This patch fixes the error: diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 5c924bf..caa16c7 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -3209,7 +3209,7 @@ objc_build_constructor (tree type, VEC(constructor_elt,gc) *elts) #ifdef OBJCPLUS /* Adjust for impedance mismatch. We should figure out how to build CONSTRUCTORs that consistently please both the C and C++ gods. */ - if (!VEC_index (constructor_elt, elts, 0)->index) + if (!VEC_index (constructor_elt, elts, 0).index) TREE_TYPE (constructor) = init_list_type_node; #endif