summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaStmt.cpp
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2009-03-03 19:52:17 +0000
committerSteve Naroff <snaroff@apple.com>2009-03-03 19:52:17 +0000
commit371b8fb4c3083ba22908b0c2f9ae77a3eeb67487 (patch)
tree3c977f6bfe05be733b1135455e1735ee3e333f26 /clang/lib/Sema/SemaStmt.cpp
parent530e03894095ee791c9ed8d3c9d6e4f0bf685d7c (diff)
downloadbcm5719-llvm-371b8fb4c3083ba22908b0c2f9ae77a3eeb67487.tar.gz
bcm5719-llvm-371b8fb4c3083ba22908b0c2f9ae77a3eeb67487.zip
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 llvm-svn: 65964
Diffstat (limited to 'clang/lib/Sema/SemaStmt.cpp')
-rw-r--r--clang/lib/Sema/SemaStmt.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp
index e7dff6d5b32..49bd85a9e7e 100644
--- a/clang/lib/Sema/SemaStmt.cpp
+++ b/clang/lib/Sema/SemaStmt.cpp
@@ -962,11 +962,11 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc,
Action::OwningStmtResult
Sema::ActOnObjCAtCatchStmt(SourceLocation AtLoc,
- SourceLocation RParen, StmtArg Parm,
+ SourceLocation RParen, DeclTy *Parm,
StmtArg Body, StmtArg catchList) {
Stmt *CatchList = static_cast<Stmt*>(catchList.release());
ObjCAtCatchStmt *CS = new (Context) ObjCAtCatchStmt(AtLoc, RParen,
- static_cast<DeclStmt*>(Parm.release()), static_cast<Stmt*>(Body.release()),
+ static_cast<ParmVarDecl*>(Parm), static_cast<Stmt*>(Body.release()),
CatchList);
return Owned(CatchList ? CatchList : CS);
}
OpenPOWER on IntegriCloud