diff options
author | Joao Matos <ripzonetriton@gmail.com> | 2012-09-02 03:45:41 +0000 |
---|---|---|
committer | Joao Matos <ripzonetriton@gmail.com> | 2012-09-02 03:45:41 +0000 |
commit | c32a7e4d8e0b65aaac3fad61ee31f0296d592146 (patch) | |
tree | 7cd4d0343f1053e9ccbfd762c695970cd877cc54 /clang/lib/Sema/TreeTransform.h | |
parent | 6c8ac4d7fb671e0a3bc18358ff56888673b40cd3 (diff) | |
download | bcm5719-llvm-c32a7e4d8e0b65aaac3fad61ee31f0296d592146.tar.gz bcm5719-llvm-c32a7e4d8e0b65aaac3fad61ee31f0296d592146.zip |
Implemented parsing and AST support for the MS __leave exception statement. Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
llvm-svn: 163083
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 19636f41438..10eb52a8907 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -1361,6 +1361,10 @@ public: return getSema().ActOnSEHTryBlock(IsCXXTry,TryLoc,TryBlock,Handler); } + StmtResult RebuildSEHLeaveStmt(SourceLocation LeaveLoc) { + return getSema().ActOnSEHLeaveStmt(LeaveLoc); + } + StmtResult RebuildSEHExceptStmt(SourceLocation Loc, Expr *FilterExpr, Stmt *Block) { @@ -6001,6 +6005,12 @@ TreeTransform<Derived>::TransformSEHTryStmt(SEHTryStmt *S) { template<typename Derived> StmtResult +TreeTransform<Derived>::TransformSEHLeaveStmt(SEHLeaveStmt *S) { + return getDerived().RebuildSEHLeaveStmt(S->getLeaveLoc()); +} + +template<typename Derived> +StmtResult TreeTransform<Derived>::TransformSEHFinallyStmt(SEHFinallyStmt *S) { StmtResult Block; // = getDerived().TransformCompoundStatement(S->getBlock()); if(Block.isInvalid()) return StmtError(); |