This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: Regression gdb.cp/temargs.exp: test value of P in inner_m [Re: [patch] Defer symbol addition until construction is complete]
- From: Tom Tromey <tromey at redhat dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: sami wagiaalla <swagiaal at redhat dot com>, gdb-patches at sourceware dot org
- Date: Tue, 31 Aug 2010 12:37:30 -0600
- Subject: Re: Regression gdb.cp/temargs.exp: test value of P in inner_m [Re: [patch] Defer symbol addition until construction is complete]
- References: <4C446F09.50107@redhat.com> <m37hkej984.fsf@fleche.redhat.com> <4C604B22.4060904@redhat.com> <20100810074402.GA19162@host1.dyn.jankratochvil.net>
>>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
Jan> This patch has a cold regression. :-)
Jan> -PASS: gdb.cp/temargs.exp: test value of P in inner_m
Jan> +FAIL: gdb.cp/temargs.exp: test value of P in inner_m
I debugged this today. I believe the problem is a g++ regression -- it
is not reporting all the template parameters.
I updated the relevant bug with my findings:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41736
Sami> I looked into this some more. Here is the problem IIUC:
Sami> The template parameter P in this case is a member of the structure not
Sami> the function, but, from what I can tell, the template param patch
Sami> (240d54e9) supports storing and searching of template parameters only
Sami> if they are members of a function. If that is correct then this patch
Sami> just exposed that problem as opposed to case the regression.
Template parameters for types are put into the type's cplus_specific
structure. See dwarf2read.c:read_structure_type.
Tom