From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26686 invoked by alias); 31 Dec 2002 21:44: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 26679 invoked from network); 31 Dec 2002 21:44:10 -0000 Received: from unknown (HELO localhost.localdomain) (66.60.148.227) by 209.249.29.67 with SMTP; 31 Dec 2002 21:44: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 gBVLe4d19640; Tue, 31 Dec 2002 13:40:34 -0800 Date: Tue, 31 Dec 2002 14:37:00 -0000 From: Mark Mitchell To: Graham Stott , "Kaveh R. Ghazi" cc: "gcc@gcc.gnu.org" Subject: Re: Bootstrap failure on irix6.5 possibly caused by new C++ parser? Message-ID: <572520000.1041370804@warlock.codesourcery.com> In-Reply-To: <3E120724.4090002@btinternet.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-SW-Source: 2002-12/txt/msg01674.txt.bz2 --On Tuesday, December 31, 2002 09:07:48 PM +0000 Graham Stott wrote: > Kaveh R. Ghazi wrote: >> > From: Mark Mitchell >> > > >> > > I'm already testing a patch which looks to fix the problem. It's >> > > past the last point of failure and going well. >> > >> > Cool. Care to send it along, and I'll review it for you? >> >> Me too, I'd like to see if it fixes the irix65 problem I have. >> >> -- >> Kaveh R. Ghazi ghazi@caip.rutgers.edu >> > > Ok attached is rough patch for cp/parser.c without changelog because I'm > still treg testing here, It does fix the powerpc-eabi abort. > > The patch works by storing the access_checks and declarator_access_checks > on a TREE_LIST for the duration of their active scope. I'm using a > TREE_LIST because assuming that the corresponding routines are recusive, > otherwise I could just make these global statics with GTY marker. This looks like the right idea, and yes these routines can be recursive. I'd prefer that, instead of global variables, you tuck the roots away inside the cp_parser struct. (You'll note that there are almost no global variables in the new parser.) I think you can use just one variable in the cp_parser struct, instead of maintaining the two separate lists-of-lists, too. Also it looks like you're adding things with "chainon", but taking them off the front of the list. Shouldn't you be using "tree_cons" instead of "chainon"? -- Mark Mitchell mark@codesourcery.com CodeSourcery, LLC http://www.codesourcery.com