aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2014-10-24 11:28:47 +0000
committerOliver Stannard <oliver.stannard@arm.com>2014-10-24 11:28:47 +0000
commitabed2eeaeaf920d19c879f8888cc6546520c7d12 (patch)
treee4dc8a49d6111523bdd1422b34aa2ef2c7555394 /clang/lib/Driver/Tools.cpp
parenta836924be45ff44059e915aec53787fc8432f4e4 (diff)
downloadllvm-abed2eeaeaf920d19c879f8888cc6546520c7d12.zip
llvm-abed2eeaeaf920d19c879f8888cc6546520c7d12.tar.gz
llvm-abed2eeaeaf920d19c879f8888cc6546520c7d12.tar.bz2
[Thumb] Clang thinks "char" is signed when using a thumb triple
'char' is unsigned on all ARM and Thumb architectures. Clang gets this right for ARM, and for thumb when using and arm triple and the -mthumb option, but gets it wrong for thumb triples. This fixes that. llvm-svn: 220555
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index e34fd5c..fb2485d 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -459,6 +459,8 @@ static bool isSignedCharDefault(const llvm::Triple &Triple) {
case llvm::Triple::aarch64_be:
case llvm::Triple::arm:
case llvm::Triple::armeb:
+ case llvm::Triple::thumb:
+ case llvm::Triple::thumbeb:
if (Triple.isOSDarwin() || Triple.isOSWindows())
return true;
return false;