aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Driver/Driver.cpp')
-rw-r--r--lib/Driver/Driver.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index 24f462f18f..7a0527d2f1 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -948,6 +948,7 @@ void Driver::BuildJobs(Compilation &C) const {
InputInfo II;
BuildJobsForAction(C, A, &C.getDefaultToolChain(),
+ /*BoundArch*/0,
/*CanAcceptPipe*/ true,
/*AtTopLevel*/ true,
/*LinkingOutput*/ LinkingOutput,
@@ -1001,6 +1002,7 @@ void Driver::BuildJobs(Compilation &C) const {
void Driver::BuildJobsForAction(Compilation &C,
const Action *A,
const ToolChain *TC,
+ const char *BoundArch,
bool CanAcceptPipe,
bool AtTopLevel,
const char *LinkingOutput,
@@ -1032,8 +1034,8 @@ void Driver::BuildJobsForAction(Compilation &C,
if (BAA->getArchName())
TC = Host->CreateToolChain(C.getArgs(), BAA->getArchName());
- BuildJobsForAction(C, *BAA->begin(), TC, CanAcceptPipe, AtTopLevel,
- LinkingOutput, Result);
+ BuildJobsForAction(C, *BAA->begin(), TC, BAA->getArchName(),
+ CanAcceptPipe, AtTopLevel, LinkingOutput, Result);
return;
}
@@ -1061,10 +1063,8 @@ void Driver::BuildJobsForAction(Compilation &C,
for (ActionList::const_iterator it = Inputs->begin(), ie = Inputs->end();
it != ie; ++it) {
InputInfo II;
- BuildJobsForAction(C, *it, TC, TryToUsePipeInput,
- /*AtTopLevel*/false,
- LinkingOutput,
- II);
+ BuildJobsForAction(C, *it, TC, BoundArch, TryToUsePipeInput,
+ /*AtTopLevel*/false, LinkingOutput, II);
InputInfos.push_back(II);
}
@@ -1125,7 +1125,7 @@ void Driver::BuildJobsForAction(Compilation &C,
llvm::errs() << "], output: " << Result.getAsString() << "\n";
} else {
T.ConstructJob(C, *JA, *Dest, Result, InputInfos,
- C.getArgsForToolChain(TC), LinkingOutput);
+ C.getArgsForToolChain(TC, BoundArch), LinkingOutput);
}
}