summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtSerialization.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-08-06 22:17:30 +0000
committerTed Kremenek <kremenek@apple.com>2008-08-06 22:17:30 +0000
commit66db7d66dedb0223fbad1069deea2a5617240cb1 (patch)
tree9ba1f83be4c419a26e29a515bc2512df4f314dba /clang/lib/AST/StmtSerialization.cpp
parent8a8d6f0a78bf64cf16145e5435b9be4289adcfc2 (diff)
downloadbcm5719-llvm-66db7d66dedb0223fbad1069deea2a5617240cb1.tar.gz
bcm5719-llvm-66db7d66dedb0223fbad1069deea2a5617240cb1.zip
Fix serialization of DeclStmt.
llvm-svn: 54428
Diffstat (limited to 'clang/lib/AST/StmtSerialization.cpp')
-rw-r--r--clang/lib/AST/StmtSerialization.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/clang/lib/AST/StmtSerialization.cpp b/clang/lib/AST/StmtSerialization.cpp
index 845f9024b17..03091fe51fb 100644
--- a/clang/lib/AST/StmtSerialization.cpp
+++ b/clang/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);
OpenPOWER on IntegriCloud