From: Daniel Dunbar Date: Mon, 2 Aug 2010 02:38:03 +0000 (+0000) Subject: Driver: Start ripping out support for -pipe, which is worthless and complicates X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c19a12dc3d441bec62eed55e312b76c12d6d9022;p=clang Driver: Start ripping out support for -pipe, which is worthless and complicates too many other things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110007 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 182320a4c5..9086ff9a9b 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -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(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(A) && !C.getArgs().hasArg(options::OPT_o)) OutputToPipe = true; - } else if (UsePipes) - OutputToPipe = true; + } } // Figure out where to put the job (pipes). diff --git a/test/Driver/bindings.c b/test/Driver/bindings.c index e7ec0c597d..b825420b71 100644 --- a/test/Driver/bindings.c +++ b/test/Driver/bindings.c @@ -15,12 +15,6 @@ // 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