summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-05-01 08:55:32 +0000
committerJohn McCall <rjmccall@apple.com>2012-05-01 08:55:32 +0000
commite42a3366044715bce62d328501a185fa8eab954d (patch)
treed18e55bd7eeda20a92d47243beff5581bbf26b93 /clang/lib/CodeGen
parentad36afd260cd2fe973c11bd7f1e3b06195125326 (diff)
downloadbcm5719-llvm-e42a3366044715bce62d328501a185fa8eab954d.tar.gz
bcm5719-llvm-e42a3366044715bce62d328501a185fa8eab954d.zip
Add support for laying out vtordisps according to our current
working knowledge of the Microsoft ABI. Based on a patch by Dmitry Sokolov. llvm-svn: 155905
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGRecordLayoutBuilder.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
index 12e26e16b79..379bf2d56aa 100644
--- a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
+++ b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
@@ -714,9 +714,7 @@ CGRecordLayoutBuilder::LayoutNonVirtualBases(const CXXRecordDecl *RD,
}
// Otherwise, add a vtable / vf-table if the layout says to do so.
- } else if (Types.getContext().getTargetInfo().getCXXABI() == CXXABI_Microsoft
- ? Layout.getVFPtrOffset() != CharUnits::fromQuantity(-1)
- : RD->isDynamicClass()) {
+ } else if (Layout.hasOwnVFPtr()) {
llvm::Type *FunctionType =
llvm::FunctionType::get(llvm::Type::getInt32Ty(Types.getLLVMContext()),
/*isVarArg=*/true);
OpenPOWER on IntegriCloud