Re: [rfa+6.1]: Fix gcc 3.4 regression in gdb.cp/namespace.exp

Daniel Jacobowitz
2004-03-16T22:28:46Z

On Tue, Mar 16, 2004 at 03:33:29PM -0500, Elena Zannoni wrote:
> David Carlton writes:
> > On Tue, 16 Mar 2004 10:25:39 -0800, David Carlton <carlton@kealia.com> said:
> >
> > > So what's the correct fix here? I tend to think that the code would
> > > be easier to understand if we only generated symbols while going
> > > through the code in the obvious tree order (calling functions named
> > > process_XXX, ideally), instead of while following various
> > > cross-references (which we would only do via functions named read_XXX,
> > > ideally). Is that a reasonable hope? If so, it seems like the
> > > correct fix would be to change process_structure_scope to call
> > > process_die on all of its children, whether or not the current die is
> > > a declaration. I'll play around with a patch like that - it should be
> > > safe, I hope, since process_structure_scope is only called from
> > > process_die, so we shouldn't be generating symbols twice.
> >
> > Here's a patch implementing that. It looks messier than it is - all I
> > did was move the loop over children before the test for whether or not
> > we're a declaration. I've tested it on mainline with
> > i686-pc-linux-gnu, DWARF-2, and four different GCC versions; no new
> > regressions, and it fixes the regression in question. Is it okay to
> > commit? If so, is it also okay for 6.1 (assuming that the tests pass
> > there as well, which I'm about to start checking)?
>
> Fine, yes.
>
> Maybe Daniel should have a look too?

This looks right to me, too - I think I just goofed when I split
read_structure_scope. Thanks!

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer