summaryrefslogtreecommitdiff
path: root/lib/Support/Windows/Signals.inc
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2011-11-29 07:47:04 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2011-11-29 07:47:04 +0000
commit5d2f8c31556b6a5ce29d2cad314bc48af879c5b3 (patch)
treea3a865170b8be82994a4632229756c11461041d4 /lib/Support/Windows/Signals.inc
parentebb57cc44ad02e8c096ad863df6dd6b7e5b0b789 (diff)
downloadllvm-5d2f8c31556b6a5ce29d2cad314bc48af879c5b3.tar.gz
llvm-5d2f8c31556b6a5ce29d2cad314bc48af879c5b3.tar.bz2
llvm-5d2f8c31556b6a5ce29d2cad314bc48af879c5b3.tar.xz
[Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver.
clang/lib/Driver/Driver.cpp: Don't pass through negative exit status, or parent would be confused. llvm::sys::Program::Wait(): Suppose 0x8000XXXX and 0xC000XXXX as abnormal exit code and pass it as negative value. Win32 Exception Handler: Exit with ExceptionCode on an unhandle exception. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145389 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Windows/Signals.inc')
-rw-r--r--lib/Support/Windows/Signals.inc2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Support/Windows/Signals.inc b/lib/Support/Windows/Signals.inc
index 0d4b8a26b0..3a7e90b38e 100644
--- a/lib/Support/Windows/Signals.inc
+++ b/lib/Support/Windows/Signals.inc
@@ -446,7 +446,7 @@ static LONG WINAPI LLVMUnhandledExceptionFilter(LPEXCEPTION_POINTERS ep) {
}
if (ExitOnUnhandledExceptions)
- _exit(-3);
+ _exit(ep->ExceptionRecord->ExceptionCode);
// Allow dialog box to pop up allowing choice to start debugger.
if (OldFilter)