diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-09-02 20:42:52 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-09-02 20:42:52 +0000 |
commit | 6812a7308d521522e6888ae981b6f9cf31d110ac (patch) | |
tree | 38240faa7c3c64f0658da2f33e25ed2857fce625 /lib/AST/DeclSerialization.cpp | |
parent | a39da065766bdfeee3421a2e71f60ae579170fef (diff) |
RecordDecl serialization:
- Don't serialize out the NextDeclarator field. It is unused and deprecated.
- Serialize out the NextDecl pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55644 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclSerialization.cpp')
-rw-r--r-- | lib/AST/DeclSerialization.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/AST/DeclSerialization.cpp b/lib/AST/DeclSerialization.cpp index 2ba891005a..82a8fcd0f6 100644 --- a/lib/AST/DeclSerialization.cpp +++ b/lib/AST/DeclSerialization.cpp @@ -449,11 +449,11 @@ void RecordDecl::EmitImpl(Serializer& S) const { ScopedDecl::EmitInRec(S); S.EmitBool(isDefinition()); S.EmitBool(hasFlexibleArrayMember()); + S.EmitPtr(NextDecl); S.EmitSInt(getNumMembers()); if (getNumMembers() > 0) { assert (Members); - S.BatchEmitOwnedPtrs((unsigned) getNumMembers(), - (Decl**) &Members[0],getNextDeclarator()); + S.BatchEmitOwnedPtrs((unsigned) getNumMembers(), (Decl**) &Members[0]); } else ScopedDecl::EmitOutRec(S); @@ -468,17 +468,14 @@ RecordDecl* RecordDecl::CreateImpl(Decl::Kind DK, Deserializer& D, decl->ScopedDecl::ReadInRec(D, C); decl->setDefinition(D.ReadBool()); decl->setHasFlexibleArrayMember(D.ReadBool()); + D.ReadPtr(decl->NextDecl); // Allow backpatching. decl->NumMembers = D.ReadSInt(); if (decl->getNumMembers() > 0) { - Decl* next_declarator; decl->Members = new FieldDecl*[(unsigned) decl->getNumMembers()]; D.BatchReadOwnedPtrs((unsigned) decl->getNumMembers(), - (Decl**) &decl->Members[0], - next_declarator, C); - - decl->setNextDeclarator(cast_or_null<ScopedDecl>(next_declarator)); + (Decl**) &decl->Members[0], C); } else decl->ScopedDecl::ReadOutRec(D, C); |