Driver: Start ripping out support for -pipe, which is worthless and complicates

too many other things.

llvm-svn: 110007
This commit is contained in:
Daniel Dunbar 2010-08-02 02:38:03 +00:00
parent 1465d7cffa
commit 926f81fce5
2 changed files with 4 additions and 23 deletions

View File

@ -182,6 +182,9 @@ Compilation *Driver::BuildCompilation(int argc, const char **argv) {
// -no-canonical-prefixes is used very early in main. // -no-canonical-prefixes is used very early in main.
Args->ClaimAllArgs(options::OPT_no_canonical_prefixes); Args->ClaimAllArgs(options::OPT_no_canonical_prefixes);
// Ignore -pipe.
Args->ClaimAllArgs(options::OPT_pipe);
// Extract -ccc args. // Extract -ccc args.
// //
// FIXME: We need to figure out where this behavior should live. Most of it // 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 { void Driver::BuildJobs(Compilation &C) const {
llvm::PrettyStackTraceString CrashInfo("Building compilation jobs"); 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); Arg *FinalOutput = C.getArgs().getLastArg(options::OPT_o);
@ -1037,11 +1030,6 @@ void Driver::BuildJobsForAction(Compilation &C,
InputInfo &Result) const { InputInfo &Result) const {
llvm::PrettyStackTraceString CrashInfo("Building compilation jobs"); 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)) { if (const InputAction *IA = dyn_cast<InputAction>(A)) {
// FIXME: It would be nice to not claim this here; maybe the old scheme of // FIXME: It would be nice to not claim this here; maybe the old scheme of
// just using Args was better? // just using Args was better?
@ -1101,8 +1089,7 @@ void Driver::BuildJobsForAction(Compilation &C,
if (AtTopLevel) { if (AtTopLevel) {
if (isa<PreprocessJobAction>(A) && !C.getArgs().hasArg(options::OPT_o)) if (isa<PreprocessJobAction>(A) && !C.getArgs().hasArg(options::OPT_o))
OutputToPipe = true; OutputToPipe = true;
} else if (UsePipes) }
OutputToPipe = true;
} }
// Figure out where to put the job (pipes). // Figure out where to put the job (pipes).

View File

@ -15,12 +15,6 @@
// RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t // RUN: grep '"gcc::Assemble", inputs: \[".*\.s"\], output: ".*\.o"' %t
// RUN: grep '"gcc::Link", inputs: \[".*\.o"\], output: "a.out"' %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: %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 // RUN: grep '"gcc::Precompile", inputs: \[".*bindings.c"\], output: ".*bindings.c.gch' %t