This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: C++ related core dump
On Tue, Nov 22, 2005 at 10:20:31AM +0100, Mark Kettenis wrote:
> > Date: Thu, 17 Nov 2005 09:04:52 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> >
> > On Thu, Nov 17, 2005 at 10:45:11AM +0100, Mark Kettenis wrote:
> > > No, no, you misread that bit above. antennac is an instance of class
> > > ROScalarColumn<int>. So antennac(0) *is* an invocation of operator().
> >
> > Oh. Then what type IS the fsym?
>
> Sorry, had a few days off at work. Does this tell you enough?
>
> p *fsym.type.main_type
> $5 = {code = TYPE_CODE_STRUCT, upper_bound_type = BOUND_SIMPLE,
> lower_bound_type = BOUND_SIMPLE, name = 0x0,
> tag_name = 0x347f230 "ROScalarColumn<int>", objfile = 0x313260,
> target_type = 0x0, flags = 4, nfields = 0, vptr_fieldno = -1, fields = 0x0,
> vptr_basetype = 0x0, type_specific = {cplus_stuff = 0x2c3358,
> floatformat = 0x2c3358}}
That's what I thought; it's the type. But how'd we get that? It ought
to be the operator. And, we shouldn't be using it at all; "method"
should have been set. Looks to me like evaluate_subexp_standard is
broken for operator().
I apologize for my misleading comment earlier in the thread - we do
support user defined operators, but I don't see this particular one in
the testsuite.
--
Daniel Jacobowitz
CodeSourcery, LLC