This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa+6.1]: Fix gcc 3.4 regression in gdb.cp/namespace.exp
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Elena Zannoni <ezannoni at redhat dot com>
- Cc: David Carlton <carlton at kealia dot com>, gdb-patches at sources dot redhat dot com,Jim Blandy <jimb at redhat dot com>
- Date: Tue, 16 Mar 2004 17:28:42 -0500
- Subject: Re: [rfa+6.1]: Fix gcc 3.4 regression in gdb.cp/namespace.exp
- References: <yf2brmx3aia.fsf@hawaii.kealia.com> <yf2ptbc1wf0.fsf@hawaii.kealia.com> <yf2llm01u41.fsf_-_@hawaii.kealia.com> <16471.25753.503491.536866@localhost.redhat.com>
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