diff options
| author | Ken Dyck <kd@kendyck.com> | 2011-03-10 02:00:35 +0000 |
|---|---|---|
| committer | Ken Dyck <kd@kendyck.com> | 2011-03-10 02:00:35 +0000 |
| commit | a1a2e8decbb98dee821f06fed13b0cad1a7e3297 (patch) | |
| tree | 8974a380a593ec97cbb3e18a47f8e35c9a32d677 /clang/lib/AST/RecordLayoutBuilder.cpp | |
| parent | e73807538ad6a87a9aa67127a104d88daf4ad68d (diff) | |
| download | bcm5719-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.cpp | 6 |
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; } |

