summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/RecordLayoutBuilder.cpp
diff options
context:
space:
mode:
authorKen Dyck <kd@kendyck.com>2011-03-10 02:00:35 +0000
committerKen Dyck <kd@kendyck.com>2011-03-10 02:00:35 +0000
commita1a2e8decbb98dee821f06fed13b0cad1a7e3297 (patch)
tree8974a380a593ec97cbb3e18a47f8e35c9a32d677 /clang/lib/AST/RecordLayoutBuilder.cpp
parente73807538ad6a87a9aa67127a104d88daf4ad68d (diff)
downloadbcm5719-llvm-a1a2e8decbb98dee821f06fed13b0cad1a7e3297.tar.gz
bcm5719-llvm-a1a2e8decbb98dee821f06fed13b0cad1a7e3297.zip
Instead of round up sizes to '8', round them up to the alignment of the char
type. llvm-svn: 127391
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.cpp')
-rw-r--r--clang/lib/AST/RecordLayoutBuilder.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp
index ecaa1f69620..016b405fa01 100644
--- a/clang/lib/AST/RecordLayoutBuilder.cpp
+++ b/clang/lib/AST/RecordLayoutBuilder.cpp
@@ -1301,7 +1301,8 @@ void RecordLayoutBuilder::LayoutWideBitField(uint64_t FieldSize,
uint64_t NewSizeInBits = FieldOffset + FieldSize;
- setDataSize(llvm::RoundUpToAlignment(NewSizeInBits, 8));
+ setDataSize(llvm::RoundUpToAlignment(NewSizeInBits,
+ Context.Target.getCharAlign()));
UnfilledBitsInLastByte = getDataSizeInBits() - NewSizeInBits;
}
@@ -1378,7 +1379,8 @@ void RecordLayoutBuilder::LayoutBitField(const FieldDecl *D) {
} else {
uint64_t NewSizeInBits = FieldOffset + FieldSize;
- setDataSize(llvm::RoundUpToAlignment(NewSizeInBits, 8));
+ setDataSize(llvm::RoundUpToAlignment(NewSizeInBits,
+ Context.Target.getCharAlign()));
UnfilledBitsInLastByte = getDataSizeInBits() - NewSizeInBits;
}
OpenPOWER on IntegriCloud