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");