Pass an ArgList to every toolchain constructor. Remove the useIntegratedAs
argument.
llvm-svn: 177301
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index 5b8f5c9..d9ecb2e 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -42,8 +42,8 @@
/// Darwin - Darwin tool chain for i386 and x86_64.
-Darwin::Darwin(const Driver &D, const llvm::Triple& Triple)
- : ToolChain(D, Triple), TargetInitialized(false)
+Darwin::Darwin(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
+ : ToolChain(D, Triple, Args), TargetInitialized(false)
{
// Compute the initial Darwin version from the triple
unsigned Major, Minor, Micro;
@@ -197,7 +197,7 @@
case Action::CompileJobClass:
T = new tools::Clang(*this); break;
case Action::AssembleJobClass: {
- if (useIntegratedAs(C.getArgs()))
+ if (useIntegratedAs())
T = new tools::ClangAs(*this);
else
T = new tools::darwin::Assemble(*this);
@@ -218,8 +218,9 @@
}
-DarwinClang::DarwinClang(const Driver &D, const llvm::Triple& Triple)
- : Darwin(D, Triple)
+DarwinClang::DarwinClang(const Driver &D, const llvm::Triple& Triple,
+ const ArgList &Args)
+ : Darwin(D, Triple, Args)
{
getProgramPaths().push_back(getDriver().getInstalledDir());
if (getDriver().getInstalledDir() != getDriver().Dir)
@@ -1368,7 +1369,7 @@
Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple& Triple,
const ArgList &Args)
- : ToolChain(D, Triple), GCCInstallation(getDriver(), Triple, Args) {
+ : ToolChain(D, Triple, Args), GCCInstallation(getDriver(), Triple, Args) {
getProgramPaths().push_back(getDriver().getInstalledDir());
if (getDriver().getInstalledDir() != getDriver().Dir)
getProgramPaths().push_back(getDriver().Dir);
@@ -1668,8 +1669,9 @@
/// all subcommands. See http://tce.cs.tut.fi for our peculiar target.
/// Currently does not support anything else but compilation.
-TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple& Triple)
- : ToolChain(D, Triple) {
+TCEToolChain::TCEToolChain(const Driver &D, const llvm::Triple& Triple,
+ const ArgList &Args)
+ : ToolChain(D, Triple, Args) {
// Path mangling to find libexec
std::string Path(getDriver().Dir);
@@ -1733,7 +1735,7 @@
if (!T) {
switch (Key) {
case Action::AssembleJobClass: {
- if (useIntegratedAs(C.getArgs()))
+ if (useIntegratedAs())
T = new tools::ClangAs(*this);
else
T = new tools::openbsd::Assemble(*this);
@@ -1768,7 +1770,7 @@
if (!T) {
switch (Key) {
case Action::AssembleJobClass: {
- if (useIntegratedAs(C.getArgs()))
+ if (useIntegratedAs())
T = new tools::ClangAs(*this);
else
T = new tools::bitrig::Assemble(*this);
@@ -1855,7 +1857,7 @@
if (!T) {
switch (Key) {
case Action::AssembleJobClass:
- if (useIntegratedAs(C.getArgs()))
+ if (useIntegratedAs())
T = new tools::ClangAs(*this);
else
T = new tools::freebsd::Assemble(*this);
@@ -1912,7 +1914,7 @@
if (!T) {
switch (Key) {
case Action::AssembleJobClass:
- if (useIntegratedAs(C.getArgs()))
+ if (useIntegratedAs())
T = new tools::ClangAs(*this);
else
T = new tools::netbsd::Assemble(*this);
@@ -2411,7 +2413,7 @@
if (!T) {
switch (Key) {
case Action::AssembleJobClass:
- if (useIntegratedAs(C.getArgs()))
+ if (useIntegratedAs())
T = new tools::ClangAs(*this);
else
T = new tools::linuxtools::Assemble(*this);