зеркало из https://github.com/microsoft/clang-1.git
Add ASTRecordLayout::getFieldCount accessor, change NextOffset field to 64-bits.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70914 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
f773737e35
Коммит
c2e57bfc7f
|
@ -29,14 +29,14 @@ namespace clang {
|
||||||
/// These objects are managed by ASTContext.
|
/// These objects are managed by ASTContext.
|
||||||
class ASTRecordLayout {
|
class ASTRecordLayout {
|
||||||
uint64_t Size; // Size of record in bits.
|
uint64_t Size; // Size of record in bits.
|
||||||
|
uint64_t NextOffset; // Next available offset
|
||||||
uint64_t *FieldOffsets;
|
uint64_t *FieldOffsets;
|
||||||
unsigned Alignment; // Alignment of record in bits.
|
unsigned Alignment; // Alignment of record in bits.
|
||||||
unsigned FieldCount; // Number of fields
|
unsigned FieldCount; // Number of fields
|
||||||
unsigned NextOffset; // Next available offset
|
|
||||||
friend class ASTContext;
|
friend class ASTContext;
|
||||||
|
|
||||||
ASTRecordLayout(uint64_t S = 0, unsigned A = 8)
|
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() {
|
~ASTRecordLayout() {
|
||||||
delete [] FieldOffsets;
|
delete [] FieldOffsets;
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,9 @@ public:
|
||||||
/// getSize - Get the record size in bits.
|
/// getSize - Get the record size in bits.
|
||||||
uint64_t getSize() const { return Size; }
|
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
|
/// getFieldOffset - Get the offset of the given field index, in
|
||||||
/// bits.
|
/// bits.
|
||||||
uint64_t getFieldOffset(unsigned FieldNo) const {
|
uint64_t getFieldOffset(unsigned FieldNo) const {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче