]> granicus.if.org Git - clang/commitdiff
Driver: Start ripping out support for -pipe, which is worthless and complicates
authorDaniel Dunbar <daniel@zuster.org>
Mon, 2 Aug 2010 02:38:03 +0000 (02:38 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 2 Aug 2010 02:38:03 +0000 (02:38 +0000)
too many other things.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110007 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Driver.cpp
test/Driver/bindings.c

index 182320a4c593d85a9db21d38bf40ac4296efca94..9086ff9a9b78623eaa279cdb7787cf96aa40426f 100644 (file)
@@ -182,6 +182,9 @@ Compilation *Driver::BuildCompilation(int argc, const char **argv) {
   // -no-canonical-prefixes is used very early in main.
   Args->ClaimAllArgs(options::OPT_no_canonical_prefixes);
 
+  // Ignore -pipe.
+  Args->ClaimAllArgs(options::OPT_pipe);
+
   // Extract -ccc args.
   //
   // FIXME: We need to figure out where this behavior should live. Most of it
@@ -884,16 +887,6 @@ Action *Driver::ConstructPhaseAction(const ArgList &Args, phases::ID Phase,
 
 void Driver::BuildJobs(Compilation &C) const {
   llvm::PrettyStackTraceString CrashInfo("Building compilation jobs");
-  bool SaveTemps = C.getArgs().hasArg(options::OPT_save_temps);
-  bool UsePipes = C.getArgs().hasArg(options::OPT_pipe);
-
-  // FIXME: Pipes are forcibly disabled until we support executing them.
-  if (!CCCPrintBindings)
-    UsePipes = false;
-
-  // -save-temps inhibits pipes.
-  if (SaveTemps && UsePipes)
-    Diag(clang::diag::warn_drv_pipe_ignored_with_save_temps);
 
   Arg *FinalOutput = C.getArgs().getLastArg(options::OPT_o);
 
@@ -1037,11 +1030,6 @@ void Driver::BuildJobsForAction(Compilation &C,
                                 InputInfo &Result) const {
   llvm::PrettyStackTraceString CrashInfo("Building compilation jobs");
 
-  bool UsePipes = C.getArgs().hasArg(options::OPT_pipe);
-  // FIXME: Pipes are forcibly disabled until we support executing them.
-  if (!CCCPrintBindings)
-    UsePipes = false;
-
   if (const InputAction *IA = dyn_cast<InputAction>(A)) {
     // FIXME: It would be nice to not claim this here; maybe the old scheme of
     // just using Args was better?
@@ -1101,8 +1089,7 @@ void Driver::BuildJobsForAction(Compilation &C,
     if (AtTopLevel) {
       if (isa<PreprocessJobAction>(A) && !C.getArgs().hasArg(options::OPT_o))
         OutputToPipe = true;
-    } else if (UsePipes)
-      OutputToPipe = true;
+    }
   }
 
   // Figure out where to put the job (pipes).
index e7ec0c597d4b2c2ca7d7d2b78c96505ec945e2d0..b825420b7151a582e47a189b2689db923445c97a 100644 (file)
 // RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t
 // RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t
 
-// RUN: %clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -no-integrated-cpp -pipe %s 2> %t
-// RUN: grep '"gcc::Preprocess", inputs: \[".*bindings.c"\], output: (pipe)' %t
-// RUN: grep '"gcc::Compile", inputs: \[(pipe)\], output: (pipe)' %t
-// RUN: grep '"gcc::Assemble", inputs: \[(pipe)\], output: ".*\.o"' %t
-// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %t
-
 // RUN: %clang -ccc-host-triple i386-unknown-unknown -ccc-print-bindings -ccc-no-clang -x c-header %s 2> %t
 // RUN: grep '"gcc::Precompile", inputs: \[".*bindings.c"\], output: ".*bindings.c.gch' %t