Re: r286534 - PR30937: don't devirtualize if we find that the callee is a pure virtual

2016-11-10 Thread Richard Smith via cfe-commits
On Thu, Nov 10, 2016 at 6:12 PM, Mehdi Amini via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Thinking again, the method “can” be implemented I think. Forget it… > It can be, but the context is a virtual dispatch, so an overrider won't actually be used, and you do get undefined behavior. E

Re: r286534 - PR30937: don't devirtualize if we find that the callee is a pure virtual

2016-11-10 Thread Mehdi Amini via cfe-commits
Thinking again, the method “can” be implemented I think. Forget it… — Mehdi > On Nov 10, 2016, at 6:11 PM, Mehdi Amini wrote: > > Could we emit llvm.unreachable in this case? > > — > Mehdi > >> On Nov 10, 2016, at 5:01 PM, Richard Smith via cfe-commits >> wrote: >> >> Author: rsmith >> D

Re: r286534 - PR30937: don't devirtualize if we find that the callee is a pure virtual

2016-11-10 Thread Mehdi Amini via cfe-commits
Could we emit llvm.unreachable in this case? — Mehdi > On Nov 10, 2016, at 5:01 PM, Richard Smith via cfe-commits > wrote: > > Author: rsmith > Date: Thu Nov 10 19:01:31 2016 > New Revision: 286534 > > URL: http://llvm.org/viewvc/llvm-project?rev=286534&view=rev > Log: > PR30937: don't devir

r286534 - PR30937: don't devirtualize if we find that the callee is a pure virtual

2016-11-10 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Nov 10 19:01:31 2016 New Revision: 286534 URL: http://llvm.org/viewvc/llvm-project?rev=286534&view=rev Log: PR30937: don't devirtualize if we find that the callee is a pure virtual function. In that case, there is no requirement that the callee is actually defined, and the