summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclSerialization.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-09-02 20:42:52 +0000
committerTed Kremenek <kremenek@apple.com>2008-09-02 20:42:52 +0000
commit478f6baf0df94c26733776da3cad381abd396fab (patch)
tree823caa3012b6432bc69310879a3e50023cbe6f0c /clang/lib/AST/DeclSerialization.cpp
parentbc69829b22d10c9da97a30a76315c1e88b56e943 (diff)
downloadbcm5719-llvm-478f6baf0df94c26733776da3cad381abd396fab.tar.gz
bcm5719-llvm-478f6baf0df94c26733776da3cad381abd396fab.zip
RecordDecl serialization:
- Don't serialize out the NextDeclarator field. It is unused and deprecated. - Serialize out the NextDecl pointer. llvm-svn: 55644
Diffstat (limited to 'clang/lib/AST/DeclSerialization.cpp')
-rw-r--r--clang/lib/AST/DeclSerialization.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/clang/lib/AST/DeclSerialization.cpp b/clang/lib/AST/DeclSerialization.cpp
index 2ba891005a4..82a8fcd0f62 100644
--- a/clang/lib/AST/DeclSerialization.cpp
+++ b/clang/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);
OpenPOWER on IntegriCloud