diff options
| author | Ted Kremenek <kremenek@apple.com> | 2008-02-01 21:28:59 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2008-02-01 21:28:59 +0000 |
| commit | a496584c82a21c91185c0007ded11c64d03ecc3f (patch) | |
| tree | 59761e27c249d04bff34c557b330ae5bac0345d5 /clang/AST/StmtSerialization.cpp | |
| parent | 192c07b727e531693af73a3741c91414e9983e98 (diff) | |
| download | bcm5719-llvm-a496584c82a21c91185c0007ded11c64d03ecc3f.tar.gz bcm5719-llvm-a496584c82a21c91185c0007ded11c64d03ecc3f.zip | |
For ObjCAtCatchStmt, removed field 'NextAtCatchStmt' (which referenced the next @catch)
and put the the next ObjcAtCatchStmt* as part of SubExprs. This fixes a bug with
iterating over the children of ObjcAtCatch, where the next @catch was not
properly being iterated over as a child.
Altered serialization of ObjCAtCatchStmt to reflect this new layout of
its subexpressions, and fixed an ownership issue with the next @catch not
being serialized as an owned pointer.
llvm-svn: 46647
Diffstat (limited to 'clang/AST/StmtSerialization.cpp')
| -rw-r--r-- | clang/AST/StmtSerialization.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/clang/AST/StmtSerialization.cpp b/clang/AST/StmtSerialization.cpp index 227f365e1cc..9a03a5320f9 100644 --- a/clang/AST/StmtSerialization.cpp +++ b/clang/AST/StmtSerialization.cpp @@ -859,8 +859,7 @@ WhileStmt* WhileStmt::CreateImpl(Deserializer& D) { void ObjCAtCatchStmt::EmitImpl(Serializer& S) const { S.Emit(AtCatchLoc); S.Emit(RParenLoc); - S.EmitPtr(NextAtCatchStmt); - S.BatchEmitOwnedPtrs((unsigned) END_EXPR,&SubExprs[0]); + S.BatchEmitOwnedPtrs((unsigned) END_EXPR, &SubExprs[0]); } ObjCAtCatchStmt* ObjCAtCatchStmt::CreateImpl(Deserializer& D) { @@ -868,8 +867,6 @@ ObjCAtCatchStmt* ObjCAtCatchStmt::CreateImpl(Deserializer& D) { SourceLocation RParenLoc = SourceLocation::ReadVal(D); ObjCAtCatchStmt* stmt = new ObjCAtCatchStmt(AtCatchLoc,RParenLoc); - - D.ReadPtr(stmt->NextAtCatchStmt); // Allows backpatching. D.BatchReadOwnedPtrs((unsigned) END_EXPR, &stmt->SubExprs[0]); return stmt; |

