diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-07-17 00:55:19 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-07-17 00:55:19 +0000 |
commit | a246468f5816242734ec7f8dcab846c5805d8e86 (patch) | |
tree | 64c42b044f85f147a564cbd6bb2231814c50b59b /clang/lib/AST/RecordLayoutBuilder.cpp | |
parent | 286691ad5e1a8efdd1d98c56dccbacd6cc709b77 (diff) | |
download | bcm5719-llvm-a246468f5816242734ec7f8dcab846c5805d8e86.tar.gz bcm5719-llvm-a246468f5816242734ec7f8dcab846c5805d8e86.zip |
MS ABI: Padding injected between empty vbases doesn't up required align
Only alignment is changed, not required alignment.
llvm-svn: 213217
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
-rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index b5ebbee83b5..b3deebaecfa 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -2615,7 +2615,7 @@ void MicrosoftRecordLayoutBuilder::layoutVirtualBases(const CXXRecordDecl *RD) { if ((PreviousBaseLayout && PreviousBaseLayout->hasZeroSizedSubObject() && BaseLayout.leadsWithZeroSizedBase()) || HasVtordisp) { Size = Size.RoundUpToAlignment(VtorDispAlignment) + VtorDispSize; - RequiredAlignment = VtorDispAlignment; + Alignment = std::max(VtorDispAlignment, Alignment); } // Insert the virtual base. ElementInfo Info = getAdjustedElementInfo(BaseLayout); |