diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2009-03-29 22:27:40 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-29 22:27:40 +0000 |
| commit | f64f5307dc2334f5d1a7ca602ccc22567af32de6 (patch) | |
| tree | bff656212adddd9caa0febb527c61154c1935bea /clang/lib | |
| parent | 58399aecc1313928516123d0b370836a49f677be (diff) | |
| download | bcm5719-llvm-f64f5307dc2334f5d1a7ca602ccc22567af32de6.tar.gz bcm5719-llvm-f64f5307dc2334f5d1a7ca602ccc22567af32de6.zip | |
Driver: Add test case for darwin::Preprocess and darwin::Compile
tools, and enable them.
llvm-svn: 68019
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 7 | ||||
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 9 |
2 files changed, 9 insertions, 7 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 1b0bdfaad30..8bbf2a67bc5 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -111,13 +111,12 @@ Tool &Darwin_X86::SelectTool(const Compilation &C, case Action::BindArchClass: assert(0 && "Invalid tool kind."); case Action::PreprocessJobClass: - T = new tools::gcc::Preprocess(*this); break; - case Action::PrecompileJobClass: - T = new tools::gcc::Precompile(*this); break; + T = new tools::darwin::Preprocess(*this); break; case Action::AnalyzeJobClass: T = new tools::Clang(*this); break; + case Action::PrecompileJobClass: case Action::CompileJobClass: - T = new tools::gcc::Compile(*this); break; + T = new tools::darwin::Compile(*this); break; case Action::AssembleJobClass: T = new tools::darwin::Assemble(*this); break; case Action::LinkJobClass: diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 0471f2d58f9..2f7c464bbfa 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -787,9 +787,12 @@ void darwin::Preprocess::ConstructJob(Compilation &C, const JobAction &JA, assert(Output.isPipe() && "Unexpected CC1 output."); } - AddCPPOptionsArgs(Args, CmdArgs, Inputs, OutputArgs); - - Args.AddAllArgs(CmdArgs, options::OPT_d_Group); + if (Args.hasArg(options::OPT_E)) { + AddCPPOptionsArgs(Args, CmdArgs, Inputs, OutputArgs); + } else { + AddCPPOptionsArgs(Args, CmdArgs, Inputs, ArgStringList()); + CmdArgs.append(OutputArgs.begin(), OutputArgs.end()); + } const char *CC1Name = getCC1Name(Inputs[0].getType()); const char *Exec = |

