summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-06-13 12:23:56 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-06-13 12:23:56 +0000
commit94afbc661f81a99db036683bb12ea50cdcf8d27b (patch)
tree499c678f9c97334fbdc6dbacdfcce59fa442d616 /utils
parentc5865cb4fcfb57fd979af4b1e816d0a35e5bf444 (diff)
downloadllvm-94afbc661f81a99db036683bb12ea50cdcf8d27b.tar.gz
llvm-94afbc661f81a99db036683bb12ea50cdcf8d27b.tar.bz2
llvm-94afbc661f81a99db036683bb12ea50cdcf8d27b.tar.xz
[Win32] Let utils/not aware of abort(), aka llvm_unreachable(), in msvcrt.
It has exit code as 3. abort(), aka unreachable, may be handled as crash. FIXME: Could we move this into Win32/Program.inc? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210895 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r--utils/not/not.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/utils/not/not.cpp b/utils/not/not.cpp
index 546f989d7f..af94250018 100644
--- a/utils/not/not.cpp
+++ b/utils/not/not.cpp
@@ -32,6 +32,13 @@ int main(int argc, const char **argv) {
std::string ErrMsg;
int Result = sys::ExecuteAndWait(Program, argv, nullptr, nullptr, 0, 0,
&ErrMsg);
+#ifdef _WIN32
+ // Handle abort() in msvcrt -- It has exit code as 3.
+ // abort(), aka unreachable, may be handled as crash.
+ // FIXME: Could we move this into Win32/Program.inc?
+ if (Result == 3)
+ Result = -3;
+#endif
if (Result < 0) {
errs() << "Error: " << ErrMsg << "\n";
if (ExpectCrash)