summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
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
commit2b381bbb5c7810ab72b664bb7ee57f7153508246 (patch)
tree1f40c27966932256180b5fa07db5330216d85f07 /clang/lib/CodeGen
parent01d3c7da60dd1174e1782321f1ff07ea9fc1483e (diff)
downloadbcm5719-llvm-2b381bbb5c7810ab72b664bb7ee57f7153508246.tar.gz
bcm5719-llvm-2b381bbb5c7810ab72b664bb7ee57f7153508246.zip
Don't add this adjustments for pure virtual member functions.
llvm-svn: 97334
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGVtable.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGVtable.cpp b/clang/lib/CodeGen/CGVtable.cpp
index 6fb70d83c2d..8e9e0655e8d 100644
--- a/clang/lib/CodeGen/CGVtable.cpp
+++ b/clang/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;
OpenPOWER on IntegriCloud