diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2014-07-07 00:12:30 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2014-07-07 00:12:30 +0000 |
| commit | 9b982078e9076b9b36586ae8b6bf21a3868f1b93 (patch) | |
| tree | f5c493e854ded43d6e037219e2ab42d549c7b689 /clang/lib/CodeGen | |
| parent | 784a5a41e79169714bd640df2c3c062b6f11dc20 (diff) | |
| download | bcm5719-llvm-9b982078e9076b9b36586ae8b6bf21a3868f1b93.tar.gz bcm5719-llvm-9b982078e9076b9b36586ae8b6bf21a3868f1b93.zip | |
Add an AST node for __leave statements, hook it up.
Codegen is still missing (and I won't work on that), but __leave is now
as implemented as __try and friends.
llvm-svn: 212425
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGException.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CGStmt.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGException.cpp b/clang/lib/CodeGen/CGException.cpp index ffcab074caa..1bbda5cbf09 100644 --- a/clang/lib/CodeGen/CGException.cpp +++ b/clang/lib/CodeGen/CGException.cpp @@ -1632,3 +1632,7 @@ llvm::BasicBlock *CodeGenFunction::getEHResumeBlock(bool isCleanup) { void CodeGenFunction::EmitSEHTryStmt(const SEHTryStmt &S) { CGM.ErrorUnsupported(&S, "SEH __try"); } + +void CodeGenFunction::EmitSEHLeaveStmt(const SEHLeaveStmt &S) { + CGM.ErrorUnsupported(&S, "SEH __leave"); +} diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp index 9cc23e2632a..6fed5d3a9d4 100644 --- a/clang/lib/CodeGen/CGStmt.cpp +++ b/clang/lib/CodeGen/CGStmt.cpp @@ -173,6 +173,9 @@ void CodeGenFunction::EmitStmt(const Stmt *S) { case Stmt::SEHTryStmtClass: EmitSEHTryStmt(cast<SEHTryStmt>(*S)); break; + case Stmt::SEHLeaveStmtClass: + EmitSEHLeaveStmt(cast<SEHLeaveStmt>(*S)); + break; case Stmt::OMPParallelDirectiveClass: EmitOMPParallelDirective(cast<OMPParallelDirective>(*S)); break; diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 3446216f224..055e9356842 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -1889,6 +1889,7 @@ public: void EmitCXXTryStmt(const CXXTryStmt &S); void EmitSEHTryStmt(const SEHTryStmt &S); + void EmitSEHLeaveStmt(const SEHLeaveStmt &S); void EmitCXXForRangeStmt(const CXXForRangeStmt &S, const ArrayRef<const Attr *> &Attrs = None); |

