diff options
-rw-r--r-- | lib/Driver/Driver.cpp | 3 | ||||
-rw-r--r-- | lib/Driver/Tools.cpp | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index c330707d34..8a7f2463eb 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -328,6 +328,7 @@ void Driver::BuildUniversalActions(const ArgList &Args, // FIXME: We need to handle canonicalization of the specified // arch? + A->claim(); if (ArchNames.insert(Name)) Archs.push_back(Name); } @@ -374,7 +375,7 @@ void Driver::BuildUniversalActions(const ArgList &Args, << types::getTypeName(Act->getType()); ActionList Inputs; - for (unsigned i = 0, e = Archs.size(); i != e; ++i ) + for (unsigned i = 0, e = Archs.size(); i != e; ++i) Inputs.push_back(new BindArchAction(Act, Archs[i])); // Lipo if necessary, We do it this way because we need to set the diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 5cba626195..7000590654 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -354,8 +354,13 @@ void gcc::Common::ConstructJob(Compilation &C, const JobAction &JA, for (ArgList::const_iterator it = Args.begin(), ie = Args.end(); it != ie; ++it) { Arg *A = *it; - if (A->getOption().hasForwardToGCC()) + if (A->getOption().hasForwardToGCC()) { + // It is unfortunate that we have to claim here, as this means + // we will basically never report anything interesting for + // platforms using a generic gcc. + A->claim(); A->render(Args, CmdArgs); + } } RenderExtraToolArgs(CmdArgs); |