r225089 - Driver: honour the clang-cl behaviour on ARM as well

Saleem Abdulrasool compnerd at compnerd.org
Fri Jan 2 13:47:33 PST 2015


Author: compnerd
Date: Fri Jan  2 15:47:33 2015
New Revision: 225089

URL: http://llvm.org/viewvc/llvm-project?rev=225089&view=rev
Log:
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.

Modified:
    cfe/trunk/lib/Driver/Tools.cpp

Modified: cfe/trunk/lib/Driver/Tools.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=225089&r1=225088&r2=225089&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/Tools.cpp (original)
+++ cfe/trunk/lib/Driver/Tools.cpp Fri Jan  2 15:47:33 2015
@@ -2103,11 +2103,12 @@ static void CollectArgsForIntegratedAsse
 
 // 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();
 }
 





More information about the cfe-commits mailing list