aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/AST/RecordLayout.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/clang/AST/RecordLayout.h b/include/clang/AST/RecordLayout.h
index 826949e608..11001ce52a 100644
--- a/include/clang/AST/RecordLayout.h
+++ b/include/clang/AST/RecordLayout.h
@@ -29,14 +29,14 @@ namespace clang {
/// These objects are managed by ASTContext.
class ASTRecordLayout {
uint64_t Size; // Size of record in bits.
+ uint64_t NextOffset; // Next available offset
uint64_t *FieldOffsets;
unsigned Alignment; // Alignment of record in bits.
unsigned FieldCount; // Number of fields
- unsigned NextOffset; // Next available offset
friend class ASTContext;
ASTRecordLayout(uint64_t S = 0, unsigned A = 8)
- : Size(S), Alignment(A), FieldCount(0), NextOffset(S) {}
+ : Size(S), NextOffset(S), Alignment(A), FieldCount(0) {}
~ASTRecordLayout() {
delete [] FieldOffsets;
}
@@ -78,6 +78,9 @@ public:
/// getSize - Get the record size in bits.
uint64_t getSize() const { return Size; }
+ /// getFieldCount - Get the number of fields in the layout.
+ unsigned getFieldCount() const { return FieldCount; }
+
/// getFieldOffset - Get the offset of the given field index, in
/// bits.
uint64_t getFieldOffset(unsigned FieldNo) const {