aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema')
-rw-r--r--lib/Sema/IdentifierResolver.cpp4
-rw-r--r--lib/Sema/Sema.h10
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/Sema/IdentifierResolver.cpp b/lib/Sema/IdentifierResolver.cpp
index 4441503528..027beede49 100644
--- a/lib/Sema/IdentifierResolver.cpp
+++ b/lib/Sema/IdentifierResolver.cpp
@@ -151,6 +151,10 @@ bool IdentifierResolver::isDeclInScope(Decl *D, DeclContext *Ctx,
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 e5146a23bb..b620b70be0 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -631,7 +631,15 @@ public:
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.