diff options
author | Steve Naroff <snaroff@apple.com> | 2009-03-03 19:52:17 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2009-03-03 19:52:17 +0000 |
commit | 7ba138abd329e591a8f6d5001f60dd7082f71b3b (patch) | |
tree | 212e368f088faaf91df92cbd47c5e37f93b0dc42 /lib/AST/Stmt.cpp | |
parent | 14453bf723c025034823e4d4005a98ee176753a0 (diff) |
Fix <rdar://problem/6640991> Exception handling executes wrong clause (Daniel, please verify).
Also necessary to fix:
<rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements
<rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65964 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Stmt.cpp')
-rw-r--r-- | lib/AST/Stmt.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/AST/Stmt.cpp b/lib/AST/Stmt.cpp index e987d84c23..63d3e7f7b4 100644 --- a/lib/AST/Stmt.cpp +++ b/lib/AST/Stmt.cpp @@ -180,10 +180,10 @@ ObjCForCollectionStmt::ObjCForCollectionStmt(Stmt *Elem, Expr *Collect, ObjCAtCatchStmt::ObjCAtCatchStmt(SourceLocation atCatchLoc, SourceLocation rparenloc, - DeclStmt *catchVarStmtDecl, Stmt *atCatchStmt, + ParmVarDecl *catchVarDecl, Stmt *atCatchStmt, Stmt *atCatchList) : Stmt(ObjCAtCatchStmtClass) { - SubExprs[SELECTOR] = catchVarStmtDecl; + ExceptionDecl = catchVarDecl; SubExprs[BODY] = atCatchStmt; SubExprs[NEXT_CATCH] = NULL; // FIXME: O(N^2) in number of catch blocks. |