diff options
author | Ken Dyck <kd@kendyck.com> | 2011-03-11 02:17:05 +0000 |
---|---|---|
committer | Ken Dyck <kd@kendyck.com> | 2011-03-11 02:17:05 +0000 |
commit | 327b77a4421d66541dec5f11629962f78af6ec06 (patch) | |
tree | 90016945398084dd6f2cec590b117fe1dec8884d /clang/lib/CodeGen | |
parent | dbc0191181faf696bc451522aa03d18d8263b383 (diff) | |
download | bcm5719-llvm-327b77a4421d66541dec5f11629962f78af6ec06.tar.gz bcm5719-llvm-327b77a4421d66541dec5f11629962f78af6ec06.zip |
Convert the RecordSize parameter of AppendTailPadding() to CharUnits to
avoid converting to bits and back again. No change in functionality
intended.
llvm-svn: 127455
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index a4e054d06e4..99554753c98 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -58,7 +58,7 @@ private: void AppendPadding(uint64_t NumBytes); - void AppendTailPadding(uint64_t RecordSize); + void AppendTailPadding(CharUnits RecordSize); void ConvertStructToPacked(); @@ -280,13 +280,11 @@ void ConstStructBuilder::AppendPadding(uint64_t NumBytes) { NextFieldOffsetInBytes += getSizeInBytes(C); } -void ConstStructBuilder::AppendTailPadding(uint64_t RecordSize) { - assert(RecordSize % 8 == 0 && "Invalid record size!"); +void ConstStructBuilder::AppendTailPadding(CharUnits RecordSize) { + assert(NextFieldOffsetInBytes <= RecordSize.getQuantity() && + "Size mismatch!"); - uint64_t RecordSizeInBytes = RecordSize / 8; - assert(NextFieldOffsetInBytes <= RecordSizeInBytes && "Size mismatch!"); - - unsigned NumPadBytes = RecordSizeInBytes - NextFieldOffsetInBytes; + unsigned NumPadBytes = RecordSize.getQuantity() - NextFieldOffsetInBytes; AppendPadding(NumPadBytes); } @@ -394,7 +392,7 @@ bool ConstStructBuilder::Build(InitListExpr *ILE) { } // Append tail padding if necessary. - AppendTailPadding(CGM.getContext().toBits(Layout.getSize())); + AppendTailPadding(Layout.getSize()); assert(Layout.getSize().getQuantity() == NextFieldOffsetInBytes && "Tail padding mismatch!"); |