This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap failure on irix6.5 possibly caused by new C++ parser?
- From: Mark Mitchell <mark at codesourcery dot com>
- To: Graham Stott <graham dot stott at btinternet dot com>, "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 31 Dec 2002 13:40:04 -0800
- Subject: Re: Bootstrap failure on irix6.5 possibly caused by new C++ parser?
--On Tuesday, December 31, 2002 09:07:48 PM +0000 Graham Stott
<graham.stott@btinternet.com> wrote:
Kaveh R. Ghazi wrote:
> From: Mark Mitchell <mark@codesourcery.com>
> >
> > 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