diff options
author | Anders Carlsson <andersca@mac.com> | 2010-05-08 23:06:26 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-05-08 23:06:26 +0000 |
commit | 15837f8f639cb41e8b8412e3fa9cd3920fbdb849 (patch) | |
tree | f812158e65866a7aac9603c00c4a24da0364c1fd /clang/lib/AST/RecordLayoutBuilder.h | |
parent | 14f232ea2062aa9ec9c3279c092dee4649be81cb (diff) | |
download | bcm5719-llvm-15837f8f639cb41e8b8412e3fa9cd3920fbdb849.tar.gz bcm5719-llvm-15837f8f639cb41e8b8412e3fa9cd3920fbdb849.zip |
Actually compute the empty subobject sizes. No functionality change yet.
llvm-svn: 103363
Diffstat (limited to 'clang/lib/AST/RecordLayoutBuilder.h')
-rw-r--r-- | clang/lib/AST/RecordLayoutBuilder.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/AST/RecordLayoutBuilder.h b/clang/lib/AST/RecordLayoutBuilder.h index acbee9e1dc6..f3da315ead8 100644 --- a/clang/lib/AST/RecordLayoutBuilder.h +++ b/clang/lib/AST/RecordLayoutBuilder.h @@ -77,7 +77,7 @@ class ASTRecordLayoutBuilder { /// VisitedVirtualBases - A set of all the visited virtual bases, used to /// avoid visiting virtual bases more than once. llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBases; - + /// SizeOfLargestEmptySubobject - When laying out C++ classes, this holds the /// size of the largest empty subobject (either a base or a member). /// Will be zero if the record being built doesn't contain any empty classes. @@ -99,6 +99,10 @@ class ASTRecordLayoutBuilder { void LayoutWideBitField(uint64_t FieldSize, uint64_t TypeSize); void LayoutBitField(const FieldDecl *D); + /// ComputeEmptySubobjectSizes - Compute the size of the largest base or + /// member subobject that is empty. + void ComputeEmptySubobjectSizes(const CXXRecordDecl *RD); + /// DeterminePrimaryBase - Determine the primary base of the given class. void DeterminePrimaryBase(const CXXRecordDecl *RD); |