summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorKen Dyck <kd@kendyck.com>2011-03-11 02:17:05 +0000
committerKen Dyck <kd@kendyck.com>2011-03-11 02:17:05 +0000
commit327b77a4421d66541dec5f11629962f78af6ec06 (patch)
tree90016945398084dd6f2cec590b117fe1dec8884d /clang/lib/CodeGen
parentdbc0191181faf696bc451522aa03d18d8263b383 (diff)
downloadbcm5719-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.cpp14
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!");
OpenPOWER on IntegriCloud