aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-08-02 05:43:51 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-08-02 05:43:51 +0000
commit74edcea3db1f85ba73ad0fede2ed5e2f096cac4b (patch)
treee2f1b772553b0f9a4c19e907302c6899442f0ec5 /lib/Driver/Driver.cpp
parent7caf9b369cba6edaf6eac25121cbc65ee938f14d (diff)
Driver: Give Build{Universal,}Actions access to the default host tool chain. I
avoided this originally to enforce that the driver actions aren't toolchain dependent, but it isn't worth the cumbersone additional hostinfo split. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110023 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Driver.cpp')
-rw-r--r--lib/Driver/Driver.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index 98ac6ccec5..e28b2bc6ed 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -250,14 +250,12 @@ Compilation *Driver::BuildCompilation(int argc, const char **argv) {
if (!HandleImmediateArgs(*C))
return C;
- // Construct the list of abstract actions to perform for this compilation. We
- // avoid passing a Compilation here simply to enforce the abstraction that
- // pipelining is not host or toolchain dependent (other than the driver driver
- // test).
+ // Construct the list of abstract actions to perform for this compilation.
if (Host->useDriverDriver())
- BuildUniversalActions(C->getArgs(), C->getActions());
+ BuildUniversalActions(C->getDefaultToolChain(), C->getArgs(),
+ C->getActions());
else
- BuildActions(C->getArgs(), C->getActions());
+ BuildActions(C->getDefaultToolChain(), C->getArgs(), C->getActions());
if (CCCPrintActions) {
PrintActions(*C);
@@ -527,7 +525,8 @@ static bool ContainsCompileAction(const Action *A) {
return false;
}
-void Driver::BuildUniversalActions(const ArgList &Args,
+void Driver::BuildUniversalActions(const ToolChain &TC,
+ const ArgList &Args,
ActionList &Actions) const {
llvm::PrettyStackTraceString CrashInfo("Building universal build actions");
// Collect the list of architectures. Duplicates are allowed, but should only
@@ -572,7 +571,7 @@ void Driver::BuildUniversalActions(const ArgList &Args,
}
ActionList SingleActions;
- BuildActions(Args, SingleActions);
+ BuildActions(TC, Args, SingleActions);
// Add in arch bindings for every top level action, as well as lipo and
// dsymutil steps if needed.
@@ -622,7 +621,8 @@ void Driver::BuildUniversalActions(const ArgList &Args,
}
}
-void Driver::BuildActions(const ArgList &Args, ActionList &Actions) const {
+void Driver::BuildActions(const ToolChain &TC, const ArgList &Args,
+ ActionList &Actions) const {
llvm::PrettyStackTraceString CrashInfo("Building compilation actions");
// Start by constructing the list of inputs and their types.