From: Saleem Abdulrasool Date: Fri, 2 Jan 2015 21:47:33 +0000 (+0000) Subject: Driver: honour the clang-cl behaviour on ARM as well X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=34bc9da0c8488864c543ac6b3b91573919bf3241;p=clang Driver: honour the clang-cl behaviour on ARM as well Unfortunately, MSVC does not indicate to the driver what target is being used. This means that we cannot correctly select the target architecture for the clang_rt component. This breaks down when targeting windows with the clang driver as opposed to the clang-cl driver. This should fix the native ARM buildbot tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225089 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index ecca1a461d..90d1accd25 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -2103,11 +2103,12 @@ static void CollectArgsForIntegratedAssembler(Compilation &C, // Until ARM libraries are build separately, we have them all in one library static StringRef getArchNameForCompilerRTLib(const ToolChain &TC) { - if (TC.getArch() == llvm::Triple::arm || TC.getArch() == llvm::Triple::armeb) - return "arm"; // FIXME: handle 64-bit - if (TC.getTriple().isOSWindows()) + if (TC.getTriple().isOSWindows() && + !TC.getTriple().isWindowsItaniumEnvironment()) return "i386"; + if (TC.getArch() == llvm::Triple::arm || TC.getArch() == llvm::Triple::armeb) + return "arm"; return TC.getArchName(); }