Re: [rfc/cp] method stub assertions

Michael Elizabeth Chastain
2004-01-05T20:51:12Z

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.