diff options
author | Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> | 2015-11-12 15:26:54 +0000 |
---|---|---|
committer | Vasileios Kalintiris <Vasileios.Kalintiris@imgtec.com> | 2015-11-12 15:26:54 +0000 |
commit | c744e120f601955b20f84273e2d770b6c054f45d (patch) | |
tree | b3a475efb8ef878026d390d57cff6f4fabf6dd7e /clang/lib/Driver/Driver.cpp | |
parent | a85d3f85df98711d39bf1a8cb3a7660430250b18 (diff) | |
download | bcm5719-llvm-c744e120f601955b20f84273e2d770b6c054f45d.tar.gz bcm5719-llvm-c744e120f601955b20f84273e2d770b6c054f45d.zip |
Re-recommit: Add support for the new mips-mti-linux toolchain.
Last time, this caused two Windows buildbots and a single ARM buildbot to fail.
I XFAIL'd the failing test on win32,win64 machines in order to see if the ARM
buildbot complains again.
llvm-svn: 252901
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 425c9151c4f..32d248e9383 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -2154,6 +2154,11 @@ void Driver::generatePrefixedToolNames( // FIXME: Needs a better variable than DefaultTargetTriple Names.emplace_back(DefaultTargetTriple + "-" + Tool); Names.emplace_back(Tool); + + // Allow the discovery of tools prefixed with LLVM's default target triple. + std::string LLVMDefaultTargetTriple = llvm::sys::getDefaultTargetTriple(); + if (LLVMDefaultTargetTriple != DefaultTargetTriple) + Names.emplace_back(LLVMDefaultTargetTriple + "-" + Tool); } static bool ScanDirForExecutable(SmallString<128> &Dir, @@ -2251,6 +2256,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, case llvm::Triple::Linux: if (Target.getArch() == llvm::Triple::hexagon) TC = new toolchains::HexagonToolChain(*this, Target, Args); + else if ((Target.getVendor() == llvm::Triple::MipsTechnologies) && + !Target.hasEnvironment()) + TC = new toolchains::MipsLLVMToolChain(*this, Target, Args); else TC = new toolchains::Linux(*this, Target, Args); break; |