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.