summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/RecordLayoutBuilder.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2013-05-29 16:18:30 +0000
committerReid Kleckner <reid@kleckner.net>2013-05-29 16:18:30 +0000
commit5d7f29815556b8a2bdeef1999cfbad2daad5b15f (patch)
treed7bb2a9a20438ae34316110888a8e29cc574aebd /clang/lib/AST/RecordLayoutBuilder.cpp
parent20c6f54b85f6097be4e9a28a905fe59b8724bcb3 (diff)
downloadbcm5719-llvm-5d7f29815556b8a2bdeef1999cfbad2daad5b15f.tar.gz
bcm5719-llvm-5d7f29815556b8a2bdeef1999cfbad2daad5b15f.zip
[ms-cxxabi] There are no key functions in the Microsoft C++ ABI
MSVC's class data is always comdat, so clang's should always be linkonce_odr in LLVM IR. Reviewers: pcc Differential Revision: http://llvm-reviews.chandlerc.com/D838 llvm-svn: 182865
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
-rw-r--r--clang/lib/AST/RecordLayoutBuilder.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index eb39d084244..4cd05b7f60f 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -2546,6 +2546,9 @@ ASTContext::getASTRecordLayout(const RecordDecl *D) const {
}
const CXXMethodDecl *ASTContext::getCurrentKeyFunction(const CXXRecordDecl *RD) {
+ if (!getTargetInfo().getCXXABI().hasKeyFunctions())
+ return 0;
+
assert(RD->getDefinition() && "Cannot get key function for forward decl!");
RD = cast<CXXRecordDecl>(RD->getDefinition());
OpenPOWER on IntegriCloud