summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGCXXABI.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-03-03 19:21:04 +0000
committerReid Kleckner <reid@kleckner.net>2015-03-03 19:21:04 +0000
commitfff8e7f6ba1e05d4c45df6923609a73e0300db1f (patch)
treeba080c0ecf6356ec5adc3c2f523421a7b4b553ab /clang/lib/CodeGen/CGCXXABI.cpp
parent5b240485b73db875dca0fd24e13c6485bbad3444 (diff)
downloadbcm5719-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.cpp7
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());
+}
OpenPOWER on IntegriCloud