From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 84517 invoked by alias); 30 Apr 2015 16:24:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 84476 invoked by uid 89); 30 Apr 2015 16:24:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: eu-smtp-delivery-143.mimecast.com Received: from eu-smtp-delivery-143.mimecast.com (HELO eu-smtp-delivery-143.mimecast.com) (207.82.80.143) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 30 Apr 2015 16:24:33 +0000 Received: from cam-owa1.Emea.Arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) by uk-mta-8.uk.mimecast.lan; Thu, 30 Apr 2015 17:24:24 +0100 Received: from localhost ([10.1.2.79]) by cam-owa1.Emea.Arm.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 30 Apr 2015 17:24:24 +0100 From: Richard Sandiford To: Richard Biener Mail-Followup-To: Richard Biener ,Andreas Schwab , "gcc-patches\@gcc.gnu.org" , richard.sandiford@arm.com Cc: Andreas Schwab , "gcc-patches\@gcc.gnu.org" Subject: Re: Mostly rewrite genrecog References: <87egn5yis1.fsf@e105548-lin.cambridge.arm.com> <87iocehzkk.fsf@igel.home> <87zj5qukmq.fsf@e105548-lin.cambridge.arm.com> <87y4l9hl8s.fsf@igel.home> Date: Thu, 30 Apr 2015 16:27:00 -0000 In-Reply-To: (Richard Biener's message of "Thu, 30 Apr 2015 13:22:03 +0100") Message-ID: <87r3r1vb2g.fsf@e105548-lin.cambridge.arm.com> User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 X-MC-Unique: D8A-LlhyQW--sl-XAFQ0tA-1 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2015-04/txt/msg02062.txt.bz2 Richard Biener writes: > On Thu, Apr 30, 2015 at 2:08 PM, Andreas Schwab w= rote: >> Richard Sandiford writes: >> >>> Andreas Schwab writes: >>>> Richard Sandiford writes: >>>> >>>>> /* Represents a test and the action that should be taken on the resul= t. >>>>> If a transition exists for the test outcome, the machine switches >>>>> to the transition's target state. If no suitable transition exist= s, >>>>> the machine either falls through to the next decision or, if there= are no >>>>> more decisions to try, fails the match. */ >>>>> struct decision : list_head >>>>> { >>>>> decision (const test &); >>>>> >>>>> void set_parent (list_head *s); >>>>> bool if_statement_p (uint64_t * =3D 0) const; >>>>> >>>>> /* The state to which this decision belongs. */ >>>>> state *s; >>>>> >>>>> /* Links to other decisions in the same state. */ >>>>> decision *prev, *next; >>>>> >>>>> /* The test to perform. */ >>>>> struct test test; >>>>> }; >>>> >>>> ../../gcc/genrecog.c:1467: error: declaration of 'test decision::test' >>>> ../../gcc/genrecog.c:1051: error: changes meaning of 'test' from >>>> struct test' >>>> >>>> Bootstrap compiler is gcc 4.3.4. >>> >>> Bah. Does it like "::test test" instead of "struct test test"? >> >> Same error. > > You have to use a different name I believe (or -fpermissive). Hmm, but then why does it work with more recent compilers? Thanks, Richard