diff options
| author | Ken Dyck <kd@kendyck.com> | 2011-03-01 01:36:00 +0000 |
|---|---|---|
| committer | Ken Dyck <kd@kendyck.com> | 2011-03-01 01:36:00 +0000 |
| commit | dbe37f38d0a5e2a04fa741efd7d15b95141f94ea (patch) | |
| tree | 604bc75cbacf88f481125ef00f28e58505d15d51 /clang/lib/AST/RecordLayoutBuilder.cpp | |
| parent | 3d0da5f5dde8ed58cc30a83cf88317aeab171387 (diff) | |
| download | bcm5719-llvm-dbe37f38d0a5e2a04fa741efd7d15b95141f94ea.tar.gz bcm5719-llvm-dbe37f38d0a5e2a04fa741efd7d15b95141f94ea.zip | |
Use CharUnits for TypeAlign variable in LayoutWideBitField(). No change in
functionality intended.
llvm-svn: 126730
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
| -rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index f9cc286e645..3bdb6779754 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -1281,7 +1281,7 @@ void RecordLayoutBuilder::LayoutWideBitField(uint64_t FieldSize, } assert(!Type.isNull() && "Did not find a type!"); - unsigned TypeAlign = Context.getTypeAlign(Type); + CharUnits TypeAlign = Context.getTypeAlignInChars(Type); // We're not going to use any of the unfilled bits in the last byte. UnfilledBitsInLastByte = 0; @@ -1295,7 +1295,8 @@ void RecordLayoutBuilder::LayoutWideBitField(uint64_t FieldSize, } else { // The bitfield is allocated starting at the next offset aligned appropriately // for T', with length n bits. - FieldOffset = llvm::RoundUpToAlignment(getDataSizeInBits(), TypeAlign); + FieldOffset = llvm::RoundUpToAlignment(getDataSizeInBits(), + Context.toBits(TypeAlign)); uint64_t NewSizeInBits = FieldOffset + FieldSize; @@ -1307,13 +1308,13 @@ void RecordLayoutBuilder::LayoutWideBitField(uint64_t FieldSize, FieldOffsets.push_back(FieldOffset); CheckFieldPadding(FieldOffset, UnpaddedFieldOffset, FieldOffset, - TypeAlign, FieldPacked, D); + Context.toBits(TypeAlign), FieldPacked, D); // Update the size. setSize(std::max(getSizeInBits(), getDataSizeInBits())); // Remember max struct/class alignment. - UpdateAlignment(Context.toCharUnitsFromBits(TypeAlign)); + UpdateAlignment(TypeAlign); } void RecordLayoutBuilder::LayoutBitField(const FieldDecl *D) { |

