diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-08-06 22:17:30 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-08-06 22:17:30 +0000 |
commit | 4958e5b3da3752a66fd515901136ad0fa0a67a31 (patch) | |
tree | b85fd86dfaa0a0372ac51fab1080e452426f673e /lib/AST/StmtSerialization.cpp | |
parent | 8772e3c83a084005cac5f5deb8a29bd6c5d42eb4 (diff) |
Fix serialization of DeclStmt.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54428 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/StmtSerialization.cpp')
-rw-r--r-- | lib/AST/StmtSerialization.cpp | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/lib/AST/StmtSerialization.cpp b/lib/AST/StmtSerialization.cpp index 845f9024b1..03091fe51f 100644 --- a/lib/AST/StmtSerialization.cpp +++ b/lib/AST/StmtSerialization.cpp @@ -472,31 +472,15 @@ ContinueStmt* ContinueStmt::CreateImpl(Deserializer& D, ASTContext& C) { void DeclStmt::EmitImpl(Serializer& S) const { S.Emit(StartLoc); S.Emit(EndLoc); - - // FIXME: Clean up ownership of the Decl. - const ScopedDecl* d = getDecl(); - - if (!S.isRegistered(d)) { - S.EmitBool(true); - S.EmitOwnedPtr(d); - } - else { - S.EmitBool(false); - S.EmitPtr(d); - } + S.EmitOwnedPtr(getDecl()); } DeclStmt* DeclStmt::CreateImpl(Deserializer& D, ASTContext& C) { SourceLocation StartLoc = SourceLocation::ReadVal(D); - SourceLocation EndLoc = SourceLocation::ReadVal(D); - - bool OwnsDecl = D.ReadBool(); - ScopedDecl* decl = cast<ScopedDecl>(OwnsDecl ? D.ReadOwnedPtr<Decl>(C) - : D.ReadPtr<Decl>()); - + SourceLocation EndLoc = SourceLocation::ReadVal(D); + ScopedDecl* decl = cast<ScopedDecl>(D.ReadOwnedPtr<Decl>(C)); return new DeclStmt(decl, StartLoc, EndLoc); } - void DeclRefExpr::EmitImpl(Serializer& S) const { S.Emit(Loc); |