diff options
| author | Anders Carlsson <andersca@mac.com> | 2010-11-01 15:14:51 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2010-11-01 15:14:51 +0000 |
| commit | 09814d3f3a050393baf1cf74641a3e63ec8f4ee3 (patch) | |
| tree | f135fd8d1611cd770f869c84241e20edf6e15f29 | |
| parent | f09b6c9c85a7fd8b5b999c1ce4ae1766c2565e0b (diff) | |
| download | bcm5719-llvm-09814d3f3a050393baf1cf74641a3e63ec8f4ee3.tar.gz bcm5719-llvm-09814d3f3a050393baf1cf74641a3e63ec8f4ee3.zip | |
Don't update empty field subobjects for bitfields. Fixes PR8519.
llvm-svn: 117921
| -rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.cpp b/clang/lib/AST/RecordLayoutBuilder.cpp index c878c25f416..0fe180d551d 100644 --- a/clang/lib/AST/RecordLayoutBuilder.cpp +++ b/clang/lib/AST/RecordLayoutBuilder.cpp @@ -494,7 +494,9 @@ void EmptySubobjectMap::UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD, for (CXXRecordDecl::field_iterator I = RD->field_begin(), E = RD->field_end(); I != E; ++I, ++FieldNo) { const FieldDecl *FD = *I; - + if (FD->isBitField()) + continue; + CharUnits FieldOffset = Offset + getFieldOffset(Layout, FieldNo); UpdateEmptyFieldSubobjects(FD, FieldOffset); |

