diff options
| author | Ken Dyck <kd@kendyck.com> | 2011-02-08 02:02:47 +0000 |
|---|---|---|
| committer | Ken Dyck <kd@kendyck.com> | 2011-02-08 02:02:47 +0000 |
| commit | bec0285d7fb33b68042a59bcf9277500a3261052 (patch) | |
| tree | 20ea15e11363e1d7b424e75b365254a5266da22b /clang/lib/CodeGen | |
| parent | 653dac4b0af927a2d0797de938abc8ad2a8164e4 (diff) | |
| download | bcm5719-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/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGRecordLayoutBuilder.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp index b9b8c9d073d..e158eed9878 100644 --- a/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -617,9 +617,10 @@ CGRecordLayoutBuilder::ComputeNonVirtualBaseType(const CXXRecordDecl *RD) { const ASTRecordLayout &Layout = Types.getContext().getASTRecordLayout(RD); + CharUnits NonVirtualSize = Layout.getNonVirtualSize(); + CharUnits NonVirtualAlign = Layout.getNonVirtualAlign(); uint64_t AlignedNonVirtualTypeSize = - llvm::RoundUpToAlignment(Layout.getNonVirtualSize().getQuantity() * 8, - Layout.getNonVirtualAlign()) / 8; + NonVirtualSize.RoundUpToAlignment(NonVirtualAlign).getQuantity(); // First check if we can use the same fields as for the complete class. @@ -855,9 +856,13 @@ CGRecordLayout *CodeGenTypes::ComputeRecordLayout(const RecordDecl *D) { "Type size mismatch!"); if (BaseTy) { - uint64_t AlignedNonVirtualTypeSizeInBits = - llvm::RoundUpToAlignment(Layout.getNonVirtualSize().getQuantity() * 8, - Layout.getNonVirtualAlign()); + CharUnits NonVirtualSize = Layout.getNonVirtualSize(); + CharUnits NonVirtualAlign = Layout.getNonVirtualAlign(); + CharUnits AlignedNonVirtualTypeSize = + NonVirtualSize.RoundUpToAlignment(NonVirtualAlign); + + uint64_t AlignedNonVirtualTypeSizeInBits = + AlignedNonVirtualTypeSize.getQuantity() * getContext().getCharWidth(); assert(AlignedNonVirtualTypeSizeInBits == getTargetData().getTypeAllocSizeInBits(BaseTy) && |

