From 581472564dbfc39cf07c90353ba55d8074e46b5c Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Thu, 5 Apr 2012 15:51:44 -0700 Subject: [PATCH] Print "friendly" ispc message when abort/seg fault signal is thrown. Make crashes that happen in LLVM less inscrutable. Issue #222. --- main.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/main.cpp b/main.cpp index 8c231b60..cc6fd778 100644 --- a/main.cpp +++ b/main.cpp @@ -44,7 +44,6 @@ #ifdef ISPC_IS_WINDOWS #include #endif // ISPC_IS_WINDOWS -#include #include #if defined(LLVM_3_0) || defined(LLVM_3_0svn) || defined(LLVM_3_1svn) #include @@ -202,17 +201,18 @@ static void lGetAllArgs(int Argc, char *Argv[], int &argc, char *argv[128]) { } +static void +lSignal(void *) { + FATAL("Unhandled signal sent to process; terminating."); +} + + int main(int Argc, char *Argv[]) { int argc; char *argv[128]; lGetAllArgs(Argc, Argv, argc, argv); -#if 0 - // Use LLVM's little utility function to print out nice stack traces if - // we crash - llvm::sys::PrintStackTraceOnErrorSignal(); - llvm::PrettyStackTraceProgram X(argc, argv); -#endif + llvm::sys::AddSignalHandler(lSignal, NULL); // initialize available LLVM targets LLVMInitializeX86TargetInfo();