Convert RecordLayout::NonVirtualSize from bit units to CharUnits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124646 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp
index 5571e43..b9b8c9d 100644
--- a/lib/CodeGen/CGRecordLayoutBuilder.cpp
+++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp
@@ -500,12 +500,12 @@
const ASTRecordLayout &Layout =
Types.getContext().getASTRecordLayout(BaseDecl);
- uint64_t NonVirtualSize = Layout.getNonVirtualSize();
+ CharUnits NonVirtualSize = Layout.getNonVirtualSize();
AppendPadding(BaseOffset / 8, 1);
// FIXME: Actually use a better type than [sizeof(BaseDecl) x i8] when we can.
- AppendBytes(NonVirtualSize / 8);
+ AppendBytes(NonVirtualSize.getQuantity());
}
void
@@ -520,12 +520,12 @@
const ASTRecordLayout &Layout =
Types.getContext().getASTRecordLayout(BaseDecl);
- uint64_t NonVirtualSize = Layout.getNonVirtualSize();
+ CharUnits NonVirtualSize = Layout.getNonVirtualSize();
AppendPadding(BaseOffset / 8, 1);
// FIXME: Actually use a better type than [sizeof(BaseDecl) x i8] when we can.
- AppendBytes(NonVirtualSize / 8);
+ AppendBytes(NonVirtualSize.getQuantity());
// FIXME: Add the vbase field info.
}
@@ -616,8 +616,9 @@
CGRecordLayoutBuilder::ComputeNonVirtualBaseType(const CXXRecordDecl *RD) {
const ASTRecordLayout &Layout = Types.getContext().getASTRecordLayout(RD);
+
uint64_t AlignedNonVirtualTypeSize =
- llvm::RoundUpToAlignment(Layout.getNonVirtualSize(),
+ llvm::RoundUpToAlignment(Layout.getNonVirtualSize().getQuantity() * 8,
Layout.getNonVirtualAlign()) / 8;
@@ -855,7 +856,7 @@
if (BaseTy) {
uint64_t AlignedNonVirtualTypeSizeInBits =
- llvm::RoundUpToAlignment(Layout.getNonVirtualSize(),
+ llvm::RoundUpToAlignment(Layout.getNonVirtualSize().getQuantity() * 8,
Layout.getNonVirtualAlign());
assert(AlignedNonVirtualTypeSizeInBits ==