If we encounter 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.
rdar://11951540


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167754 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index 81979ec..8233247 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -480,8 +480,9 @@
      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