diff options
author | Warren Hunt <whunt@google.com> | 2014-01-09 00:30:56 +0000 |
---|---|---|
committer | Warren Hunt <whunt@google.com> | 2014-01-09 00:30:56 +0000 |
commit | d640d7d96e93f138e1aa844d91c868485a6b113d (patch) | |
tree | dd1de46e0a7bfeddd1ba5f7c045a817e986d1b2d /clang/lib/CodeGen/CGRecordLayoutBuilder.cpp | |
parent | d2d23ed04a08eb04ef2d6d0a89284f1f510e9d96 (diff) | |
download | bcm5719-llvm-d640d7d96e93f138e1aa844d91c868485a6b113d.tar.gz bcm5719-llvm-d640d7d96e93f138e1aa844d91c868485a6b113d.zip |
[ms-abi] Refactor Microsoft Record Layout
This patch refactors microsoft record layout to be more "natural". The
most dominant change is that vbptrs and vfptrs are injected after the
fact. This simplifies the implementation and the math for the offest
for the first base/field after the vbptr.
llvm-svn: 198818
Diffstat (limited to 'clang/lib/CodeGen/CGRecordLayoutBuilder.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGRecordLayoutBuilder.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp index 34cee377604..c3338a17b36 100644 --- a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -712,7 +712,7 @@ CGRecordLayoutBuilder::ComputeNonVirtualBaseType(const CXXRecordDecl *RD) { const ASTRecordLayout &Layout = Types.getContext().getASTRecordLayout(RD); CharUnits NonVirtualSize = Layout.getNonVirtualSize(); - CharUnits NonVirtualAlign = Layout.getNonVirtualAlign(); + CharUnits NonVirtualAlign = Layout.getNonVirtualAlignment(); CharUnits AlignedNonVirtualTypeSize = NonVirtualSize.RoundUpToAlignment(NonVirtualAlign); @@ -994,7 +994,7 @@ CGRecordLayout *CodeGenTypes::ComputeRecordLayout(const RecordDecl *D, if (BaseTy) { CharUnits NonVirtualSize = Layout.getNonVirtualSize(); - CharUnits NonVirtualAlign = Layout.getNonVirtualAlign(); + CharUnits NonVirtualAlign = Layout.getNonVirtualAlignment(); CharUnits AlignedNonVirtualTypeSize = NonVirtualSize.RoundUpToAlignment(NonVirtualAlign); |