]> granicus.if.org Git - clang/commit
PR30937: don't devirtualize if we find that the callee is a pure virtual
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 11 Nov 2016 01:01:31 +0000 (01:01 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 11 Nov 2016 01:01:31 +0000 (01:01 +0000)
commit4f7770e365bd65e46393357538fbb886528a92c7
treee287fb91250d32702dd00f8a90f1361e833dcc3a
parent534a7a7eedade86800c4cb6f8d0c347f500ec82c
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 code may in fact be valid and have defined behavior if the
virtual call is unreachable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286534 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/devirtualize-virtual-function-calls.cpp