aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2015-01-02 21:47:33 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2015-01-02 21:47:33 +0000
commit61770ab26f4b11bf1c3c185bb4fe24e82397baf3 (patch)
tree693b7380cae55b03704ea75e85f514bdcf7ddb45 /clang/lib/Driver/Tools.cpp
parentc426c337ed8ceee256a7ce29de400bb4c44e2dcf (diff)
downloadllvm-61770ab26f4b11bf1c3c185bb4fe24e82397baf3.zip
llvm-61770ab26f4b11bf1c3c185bb4fe24e82397baf3.tar.gz
llvm-61770ab26f4b11bf1c3c185bb4fe24e82397baf3.tar.bz2
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. llvm-svn: 225089
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index ecca1a4..90d1acc 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/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();
}