Parser support for C++ try-catch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61312 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/IdentifierResolver.cpp b/lib/Sema/IdentifierResolver.cpp
index 4441503..027beed 100644
--- a/lib/Sema/IdentifierResolver.cpp
+++ b/lib/Sema/IdentifierResolver.cpp
@@ -151,6 +151,10 @@
     if (S->isDeclScope(D))
       return true;
     if (LangOpt.CPlusPlus) {
+      // C++ 3.3.2p3:
+      // The name declared in a catch exception-declaration is local to the
+      // handler and shall not be redeclared in the outermost block of the
+      // handler.
       // C++ 3.3.2p4:
       // Names declared in the for-init-statement, and in the condition of if,
       // while, for, and switch statements are local to the if, while, for, or
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index e5146a2..b620b70 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -631,7 +631,15 @@
   virtual StmtResult ActOnObjCAtSynchronizedStmt(SourceLocation AtLoc, 
                                                  ExprTy *SynchExpr, 
                                                  StmtTy *SynchBody);
-  
+
+  //virtual DeclTy *ActOnExceptionDeclarator(Scope *S, Declarator &D);
+  //virtual OwningStmtResult ActOnCXXCatchBlock(SourceLocation CatchLoc,
+  //                                            DeclTy *ExceptionDecl,
+  //                                            StmtArg HandlerBlock);
+  //virtual OwningStmtResult ActOnCXXTryBlock(SourceLocation TryLoc,
+  //                                          StmtArg TryBlock,
+  //                                          MultiStmtArg Handlers);
+
   //===--------------------------------------------------------------------===//
   // Expression Parsing Callbacks: SemaExpr.cpp.