diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-12-21 16:41:36 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2008-12-21 16:41:36 +0000 |
commit | a0fd8652f3302d0f39ed9849b521ee5b76597b0a (patch) | |
tree | b2fd4be9481d12209c0590794585a0fc1469c427 /lib/Sema | |
parent | c994bb2b800d4aef4c42b5a58f33cb7816dbf7f0 (diff) |
Parser support for C++ try-catch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61312 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema')
-rw-r--r-- | lib/Sema/IdentifierResolver.cpp | 4 | ||||
-rw-r--r-- | lib/Sema/Sema.h | 10 |
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. |