summaryrefslogtreecommitdiffstats
path: root/clang/AST/StmtSerialization.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-02-01 21:28:59 +0000
committerTed Kremenek <kremenek@apple.com>2008-02-01 21:28:59 +0000
commita496584c82a21c91185c0007ded11c64d03ecc3f (patch)
tree59761e27c249d04bff34c557b330ae5bac0345d5 /clang/AST/StmtSerialization.cpp
parent192c07b727e531693af73a3741c91414e9983e98 (diff)
downloadbcm5719-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.cpp5
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;
OpenPOWER on IntegriCloud