This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfc/cp] method stub assertions
- From: mec dot gnu at mindspring dot com (Michael Elizabeth Chastain)
- To: drow at mvista dot com
- Cc: gdb-patches at sources dot redhat dot com
- Date: Mon, 5 Jan 2004 15:50:59 -0500 (EST)
- Subject: Re: [rfc/cp] method stub assertions
drow> No, that's not correct. hpread.c sets it the same way that
drow> dwarf2read.c does, by calling smash_to_method_type and
drow> smash_to_member_type.
Ah, okay.
> I'm reading dwarf2read correctly it simply uses the enclosing class, not
> walking back to find the class containing the vtable as you describe
> above. It's for _classes_ that it behaves as described above.
Okay. I think evaluate_subexp_standard understands this --
that it has to go from method to domain type, and from domain
type to some other base-class type that actually defines the
vtable.
> You will need to find some way to autodetect this. Does aCC still
> produce SOM output, even for hppa64? If so you can use
> hp_som_object_present, but that's a gross hack. It would be better to
> find another way.
>
> See where we autodetect gnu_v3.
That will be the next problem. I just wanted to be sure that I was
actually fixing this problem.
> No, please try to set TYPE_DOMAIN_TYPE in hpread instead. I think
> around line 3950 is the only place you'll need to. Hmm... or perhaps
> calling smash_to_method_type at 3861. That may work.
Rats. Okay. I'll withdraw my patch, and work on that instead.
Michael C
2004-01-04 Michael Chastain <mec.gnu@mindpsring.com>
* valops.c (find_overload_match): Assert that methods are not
stubs. Do not assert that methods have domain types.
* eval.c (evaluate_subexp_standard): Assert basetype and
domain_type as needed.