summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/RecordLayoutBuilder.cpp
diff options
context:
space:
mode:
authorKen Dyck <kd@kendyck.com>2011-02-08 02:02:47 +0000
committerKen Dyck <kd@kendyck.com>2011-02-08 02:02:47 +0000
commitbec0285d7fb33b68042a59bcf9277500a3261052 (patch)
tree20ea15e11363e1d7b424e75b365254a5266da22b /clang/lib/AST/RecordLayoutBuilder.cpp
parent653dac4b0af927a2d0797de938abc8ad2a8164e4 (diff)
downloadbcm5719-llvm-bec0285d7fb33b68042a59bcf9277500a3261052.tar.gz
bcm5719-llvm-bec0285d7fb33b68042a59bcf9277500a3261052.zip
Convert RecordLayout::NonVirtualAlign to CharUnits. No change in
functionality intended. llvm-svn: 125069
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
-rw-r--r--clang/lib/AST/RecordLayoutBuilder.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index a871c3d1766..6b98ecd87da 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -1096,7 +1096,8 @@ CharUnits RecordLayoutBuilder::LayoutBase(const BaseSubobjectInfo *Base) {
return CharUnits::Zero();
}
- unsigned UnpackedBaseAlign = Layout.getNonVirtualAlign();
+ unsigned UnpackedBaseAlign =
+ Layout.getNonVirtualAlign().getQuantity() * Context.getCharWidth();
unsigned BaseAlign = (Packed) ? 8 : UnpackedBaseAlign;
// The maximum field alignment overrides base align.
@@ -1684,13 +1685,14 @@ ASTContext::getASTRecordLayout(const RecordDecl *D) const {
IsPODForThePurposeOfLayout ? Builder->Size : Builder->DataSize;
uint64_t NonVirtualSize =
IsPODForThePurposeOfLayout ? DataSize : Builder->NonVirtualSize;
+ uint64_t NonVirtualAlign = Builder->NonVirtualAlignment;
NewEntry =
new (*this) ASTRecordLayout(*this, Builder->Size, Builder->Alignment,
DataSize, Builder->FieldOffsets.data(),
Builder->FieldOffsets.size(),
toCharUnitsFromBits(NonVirtualSize),
- Builder->NonVirtualAlignment,
+ toCharUnitsFromBits(NonVirtualAlign),
EmptySubobjects.SizeOfLargestEmptySubobject,
Builder->PrimaryBase,
Builder->PrimaryBaseIsVirtual,
@@ -1859,7 +1861,7 @@ static void DumpCXXRecordLayout(llvm::raw_ostream &OS,
OS << ", dsize=" << Layout.getDataSize() / 8;
OS << ", align=" << Layout.getAlignment() / 8 << '\n';
OS << " nvsize=" << Layout.getNonVirtualSize().getQuantity();
- OS << ", nvalign=" << Layout.getNonVirtualAlign() / 8 << '\n';
+ OS << ", nvalign=" << Layout.getNonVirtualAlign().getQuantity() << '\n';
OS << '\n';
}
OpenPOWER on IntegriCloud