http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59622

--- Comment #16 from Jan Hubicka <hubicka at ucw dot cz> ---
> So, do we want something like this?  For incompatible return type or argument
> types punt, unless it is the __builtin_unreachable/__cxa_pure_virtual case
> which can be handled the same, and similarly punt for inplace if the call 
> flags
> would change?

Punting on methods with wrong return/parameter types seems resonable. We
probably
could/should warn here, since it almost definitely means ODR volation.
I would definitely try some code with warning on - type compatibility is
splipperly,
but testing in sense of useless_ssa_conversion should pass for all valid
programs.

Handling unreacahble/cxa_pure_virtual separately seems sane, too.

I am not too happy about giving up with inplace folding given that we forget to
fold statements later, but that is probably for indepenedent PR/patch.

So this approach is fine for me.  Thanks for looking into this!
Honza

Reply via email to