diff options
Diffstat (limited to 'lib/System')
-rw-r--r-- | lib/System/Win32/Signals.inc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/System/Win32/Signals.inc b/lib/System/Win32/Signals.inc index 2498a26..616bb29 100644 --- a/lib/System/Win32/Signals.inc +++ b/lib/System/Win32/Signals.inc @@ -43,9 +43,7 @@ static std::vector<llvm::sys::Path> *FilesToRemove = NULL; static std::vector<std::pair<void(*)(void*), void*> > *CallBacksToRun = 0; static bool RegisteredUnhandledExceptionFilter = false; static bool CleanupExecuted = false; -#ifdef _MSC_VER static bool ExitOnUnhandledExceptions = false; -#endif static PTOP_LEVEL_EXCEPTION_FILTER OldFilter = NULL; // Windows creates a new thread to execute the console handler when an event @@ -110,12 +108,12 @@ static void RegisterHandler() { SetConsoleCtrlHandler(LLVMConsoleCtrlHandler, TRUE); // Environment variable to disable any kind of crash dialog. -#ifdef _MSC_VER if (getenv("LLVM_DISABLE_CRT_DEBUG")) { +#ifdef _MSC_VER _CrtSetReportHook(CRTReportHook); +#endif ExitOnUnhandledExceptions = true; } -#endif // IMPORTANT NOTE: Caller must call LeaveCriticalSection(&CriticalSection) or // else multi-threading problems will ensue. @@ -295,10 +293,8 @@ static LONG WINAPI LLVMUnhandledExceptionFilter(LPEXCEPTION_POINTERS ep) { assert(0 && "Crashed in LLVMUnhandledExceptionFilter"); } -#ifdef _MSC_VER if (ExitOnUnhandledExceptions) _exit(-3); -#endif // Allow dialog box to pop up allowing choice to start debugger. if (OldFilter) |