forked from OSchip/llvm-project
Driver: Produce crash diagnostics more often on Windows
Assertion failures call abort(), which return an exit code of 3 on Windows. The 'not' utility has the same check. Unfortunately, the crash-report.c test requires a shell, so it does not run for me locally, so I can only test this manually. There's still more work to be done here: we should generate a batch script instead of a shell script on Windows. llvm-svn: 212481
This commit is contained in:
parent
49eafe909b
commit
3b5c639f48
|
@ -433,8 +433,13 @@ int main(int argc_, const char **argv_) {
|
|||
|
||||
// If result status is < 0, then the driver command signalled an error.
|
||||
// If result status is 70, then the driver command reported a fatal error.
|
||||
// In these cases, generate additional diagnostic information if possible.
|
||||
if (CommandRes < 0 || CommandRes == 70) {
|
||||
// On Windows, abort will return an exit code of 3. In these cases,
|
||||
// generate additional diagnostic information if possible.
|
||||
bool DiagnoseCrash = CommandRes < 0 || CommandRes == 70;
|
||||
#ifdef LLVM_ON_WIN32
|
||||
DiagnoseCrash |= CommandRes == 3;
|
||||
#endif
|
||||
if (DiagnoseCrash) {
|
||||
TheDriver.generateCompilationDiagnostics(*C, FailingCommand);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue