aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGVtable.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-02-27 18:16:50 +0000
committerAnders Carlsson <andersca@mac.com>2010-02-27 18:16:50 +0000
commit8bc68f7a29f94446852f4d709115a7f4e6765f7a (patch)
treed7ae209b17a997a68d3fbc28c52afef620863735 /lib/CodeGen/CGVtable.cpp
parentcd4e63721eb01f449731741d404409835a32e29b (diff)
Don't add this adjustments for pure virtual member functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97334 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGVtable.cpp')
-rw-r--r--lib/CodeGen/CGVtable.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/CodeGen/CGVtable.cpp b/lib/CodeGen/CGVtable.cpp
index 6fb70d83c2..8e9e0655e8 100644
--- a/lib/CodeGen/CGVtable.cpp
+++ b/lib/CodeGen/CGVtable.cpp
@@ -1315,8 +1315,12 @@ void VtableBuilder::ComputeThisAdjustments() {
continue;
uint64_t VtableIndex = MethodInfo.VtableIndex;
-
- // Ignore this adjustments for unused function pointers.
+
+ // Ignore adjustments for pure virtual member functions.
+ if (Overrider.Method->isPure())
+ continue;
+
+ // Ignore adjustments for unused function pointers.
if (Components[VtableIndex].getKind() ==
VtableComponent::CK_UnusedFunctionPointer)
continue;