defined as an internal software error. This notifies the driver to report
diagnostics information.
rdar://
11951540
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167754
91177308-0d34-0410-b5e6-
96231b3b80d8
// particular that we remove files registered with RemoveFileOnSignal.
llvm::sys::RunInterruptHandlers();
- // We cannot recover from llvm errors.
- exit(1);
+ // We cannot recover from llvm errors. When reporting a fatal error, exit
+ // with status 70. For BSD systems this is defined as an internal software
+ // error. This notifies the driver to report diagnostics information.
+ exit(70);
}
int cc1_main(const char **ArgBegin, const char **ArgEnd,
Res = -1;
// If result status is < 0, then the driver command signalled an error.
- // In this case, generate additional diagnostic information if possible.
- if (Res < 0)
+ // If result status is 70, then the driver command reported a fatal error.
+ // In these cases, generate additional diagnostic information if possible.
+ if (Res < 0 || Res == 70)
TheDriver.generateCompilationDiagnostics(*C, FailingCommand);
// If any timers were active but haven't been destroyed yet, print their