Re: gdb.cp/templates.exp, ctor/dtor breakpoints, etc....

Christophe LYON
2009-01-19T15:31:04Z

On 16.01.2009 18:18, Daniel Jacobowitz wrote:
> On Fri, Jan 16, 2009 at 06:11:08PM +0100, Christophe LYON wrote:
>> Doing this, I follow GCC behaviour, but I get a regression. If we don't
>> consider this a GCC bug, it means that the way GDB recognizes ctor/dtor
>> (any probably any overloaded function) is to be revisited? Am I right?
>
> Yes, all of the name recognition stuff is broken. We shouldn't be
> relying on mangled names, since there are compilers we can not change
> as easily as GCC or yours that do not emit them.
>

Well, currently the gdb.cp/templates.exp is still KFAIL, so I guess the
decision was that GCC should not output mangled names (somewhat
confirmed by
http://gcc.gnu.org/ml/gcc/2001-12/msg00260.html).

But... if GDB does not rely on mangled names, how is it supposed to find
the right template instantiation when trying to set a breakpoint on a
function? For instance in templates.exp, where the T5 template is
defined, how to find the T5<int> ctor, if all the ctor instantiations
are named "T5" ? Should GDB analyse all the type definition in
.debug_info and find the right type?

Christophe.