Move handling of @try and @throw to the runtime class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55983 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGStmt.cpp b/lib/CodeGen/CGStmt.cpp
index b766fe8..4001be4 100644
--- a/lib/CodeGen/CGStmt.cpp
+++ b/lib/CodeGen/CGStmt.cpp
@@ -78,16 +78,16 @@
case Stmt::AsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break;
case Stmt::ObjCAtTryStmtClass:
- ErrorUnsupported(S, "@try statement");
- break;
+ EmitObjCAtTryStmt(cast<ObjCAtTryStmt>(*S));
+ break;
case Stmt::ObjCAtCatchStmtClass:
- ErrorUnsupported(S, "@catch statement");
+ assert(0 && "@catch statements should be handled by EmitObjCAtTryStmt");
break;
case Stmt::ObjCAtFinallyStmtClass:
- ErrorUnsupported(S, "@finally statement");
+ assert(0 && "@finally statements should be handled by EmitObjCAtTryStmt");
break;
case Stmt::ObjCAtThrowStmtClass:
- ErrorUnsupported(S, "@throw statement");
+ EmitObjCAtThrowStmt(cast<ObjCAtThrowStmt>(*S));
break;
case Stmt::ObjCAtSynchronizedStmtClass:
ErrorUnsupported(S, "@synchronized statement");