r344389 - Revert r344375 "[Driver] check for exit code from SIGPIPE"

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 12 11:08:12 PDT 2018


Author: rnk
Date: Fri Oct 12 11:08:11 2018
New Revision: 344389

URL: http://llvm.org/viewvc/llvm-project?rev=344389&view=rev
Log:
Revert r344375 "[Driver] check for exit code from SIGPIPE"

This doesn't build on Windows.

Modified:
    cfe/trunk/lib/Driver/Driver.cpp

Modified: cfe/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Driver.cpp?rev=344389&r1=344388&r2=344389&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Driver.cpp (original)
+++ cfe/trunk/lib/Driver/Driver.cpp Fri Oct 12 11:08:11 2018
@@ -78,7 +78,6 @@
 #include "llvm/Support/raw_ostream.h"
 #include <map>
 #include <memory>
-#include <sysexits.h>
 #include <utility>
 #if LLVM_ON_UNIX
 #include <unistd.h> // getpid
@@ -1389,9 +1388,8 @@ int Driver::ExecuteCompilation(
 
   // Otherwise, remove result files and print extra information about abnormal
   // failures.
-  int Res = 0;
   for (const auto &CmdPair : FailingCommands) {
-    int CommandRes = CmdPair.first;
+    int Res = CmdPair.first;
     const Command *FailingCommand = CmdPair.second;
 
     // Remove result files if we're not saving temps.
@@ -1400,17 +1398,10 @@ int Driver::ExecuteCompilation(
       C.CleanupFileMap(C.getResultFiles(), JA, true);
 
       // Failure result files are valid unless we crashed.
-      if (CommandRes < 0)
+      if (Res < 0)
         C.CleanupFileMap(C.getFailureResultFiles(), JA, true);
     }
 
-    // llvm/lib/Support/Unix/Signals.inc will exit with a special return code
-    // for SIGPIPE. Do not print diagnostics for this case.
-    if (CommandRes == EX_IOERR) {
-      Res = CommandRes;
-      continue;
-    }
-
     // Print extra information about abnormal failures, if possible.
     //
     // This is ad-hoc, but we don't want to be excessively noisy. If the result
@@ -1420,17 +1411,17 @@ int Driver::ExecuteCompilation(
     // diagnostics, so always print the diagnostic there.
     const Tool &FailingTool = FailingCommand->getCreator();
 
-    if (!FailingCommand->getCreator().hasGoodDiagnostics() || CommandRes != 1) {
+    if (!FailingCommand->getCreator().hasGoodDiagnostics() || Res != 1) {
       // FIXME: See FIXME above regarding result code interpretation.
-      if (CommandRes < 0)
+      if (Res < 0)
         Diag(clang::diag::err_drv_command_signalled)
             << FailingTool.getShortName();
       else
-        Diag(clang::diag::err_drv_command_failed)
-            << FailingTool.getShortName() << CommandRes;
+        Diag(clang::diag::err_drv_command_failed) << FailingTool.getShortName()
+                                                  << Res;
     }
   }
-  return Res;
+  return 0;
 }
 
 void Driver::PrintHelp(bool ShowHidden) const {




More information about the cfe-commits mailing list