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

Reply via email to