summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-03-29 22:27:40 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-03-29 22:27:40 +0000
commitf64f5307dc2334f5d1a7ca602ccc22567af32de6 (patch)
treebff656212adddd9caa0febb527c61154c1935bea /clang/lib
parent58399aecc1313928516123d0b370836a49f677be (diff)
downloadbcm5719-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.cpp7
-rw-r--r--clang/lib/Driver/Tools.cpp9
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 =
OpenPOWER on IntegriCloud