diff options
author | Reid Kleckner <reid@kleckner.net> | 2013-10-11 21:10:11 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2013-10-11 21:10:11 +0000 |
commit | 4c42732cf869d167e48a15afe280cb847984e7a5 (patch) | |
tree | 283131e677dbf2c9f66f5bb8e4d5d5cccea735c0 /clang/lib/AST/RecordLayoutBuilder.cpp | |
parent | 441387832e377f5a2139a91fb92bb112f74104de (diff) | |
download | bcm5719-llvm-4c42732cf869d167e48a15afe280cb847984e7a5.tar.gz bcm5719-llvm-4c42732cf869d167e48a15afe280cb847984e7a5.zip |
Only use the MS record layout when using the MS C++ ABI
We're not ready to use it everywhere we use a win32 triple yet.
llvm-svn: 192502
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
-rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index 575ef316043..10c7b5d88fb 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -2345,11 +2345,11 @@ static bool mustSkipTailPadding(TargetCXXABI ABI, const CXXRecordDecl *RD) { } static bool isMsLayout(const RecordDecl* D) { - return (D->getASTContext().getTargetInfo().getCXXABI().isMicrosoft() || - D->getASTContext().getTargetInfo().getTriple().getOS() == - llvm::Triple::Win32) && - D->getASTContext().getTargetInfo().getPointerWidth(0) == 32; - // FIXME: we intend to enable 64 bit mode once it's been verified. + // FIXME: Use MS record layout for x64 code and remove MS C++ support from the + // Itanium record layout code. + return D->getASTContext().getTargetInfo().getCXXABI().isMicrosoft() && + D->getASTContext().getTargetInfo().getTriple().getArch() == + llvm::Triple::x86; } // This section contains an implementation of struct layout that is, up to the |