On 5/21/19 12:34 PM, Paolo Carlini wrote:
Hi,
On 21/05/19 16:57, Jason Merrill wrote:
On 5/16/19 7:12 PM, Paolo Carlini wrote:
Hi,
when Roberto Agostino and I implemented the front-end
devirtualization of final overriders we missed this case, where it
comes from the base. It seems to me that by way of access_path the
existing approach can be neatly extended. Tested x86_64-linux.
+ || CLASSTYPE_FINAL (TREE_TYPE (cand->access_path)))
This will give the wrong type when the function is called with an
explicit scope; you probably want to look at argtype instead.
Yes, thanks, that works fine and is even neater. I'm finishing testing
the below. As you can see, I also added a line to final3.C where the two
versions of the call..c conditional give different answers. Note,
however, that in practice, in terms, say, of dumps, the difference is
difficult to emphasize because the call would not be virtual anyway (if
I'm not horribly mistaken ;)
True enough. OK.
Jason