diff options
| author | Reid Kleckner <reid@kleckner.net> | 2015-03-03 19:21:04 +0000 |
|---|---|---|
| committer | Reid Kleckner <reid@kleckner.net> | 2015-03-03 19:21:04 +0000 |
| commit | fff8e7f6ba1e05d4c45df6923609a73e0300db1f (patch) | |
| tree | ba080c0ecf6356ec5adc3c2f523421a7b4b553ab /clang/lib/CodeGen/CGCXXABI.cpp | |
| parent | 5b240485b73db875dca0fd24e13c6485bbad3444 (diff) | |
| download | bcm5719-llvm-fff8e7f6ba1e05d4c45df6923609a73e0300db1f.tar.gz bcm5719-llvm-fff8e7f6ba1e05d4c45df6923609a73e0300db1f.zip | |
Split catch IRgen into ItaniumCXXABI and MicrosoftCXXABI
Use llvm.eh.begincatch for Microsoft-style catches.
This moves lots of CGException code into ItaniumCXXABI. Sorry for the
blame pain.
llvm-svn: 231105
Diffstat (limited to 'clang/lib/CodeGen/CGCXXABI.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGCXXABI.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGCXXABI.cpp b/clang/lib/CodeGen/CGCXXABI.cpp index d31331de686..cb7e6dfca1c 100644 --- a/clang/lib/CodeGen/CGCXXABI.cpp +++ b/clang/lib/CodeGen/CGCXXABI.cpp @@ -302,3 +302,10 @@ CGCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF, bool CGCXXABI::NeedsVTTParameter(GlobalDecl GD) { return false; } + +llvm::CallInst * +CGCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF, + llvm::Value *Exn) { + // Just call std::terminate and ignore the violating exception. + return CGF.EmitNounwindRuntimeCall(CGF.CGM.getTerminateFn()); +} |

