This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]