diff options
author | John McCall <rjmccall@apple.com> | 2012-05-01 08:55:32 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2012-05-01 08:55:32 +0000 |
commit | 441c6239c6df8c759bacf6510efbfd434b647066 (patch) | |
tree | 87d07dfb9e6b55a7f8e2cf7e13249c204f96eb52 /lib/CodeGen | |
parent | a12f84d9ec127854e8948e7aa2003e9a9e2f975d (diff) |
Add support for laying out vtordisps according to our current
working knowledge of the Microsoft ABI. Based on a patch by
Dmitry Sokolov.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155905 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/CGRecordLayoutBuilder.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp index 12e26e16b7..379bf2d56a 100644 --- a/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/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); |