summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2013-11-30 00:38:16 +0000
committerJoerg Sonnenberger <joerg@bec.de>2013-11-30 00:38:16 +0000
commit84c7ca885100052764023f83147002e9774bb319 (patch)
treec0c979413fce001448281593958c0026c570f739
parentc2ab53a318c7c9fa5cc6ede0bf633fbda8abfcf8 (diff)
downloadbcm5719-llvm-84c7ca885100052764023f83147002e9774bb319.tar.gz
bcm5719-llvm-84c7ca885100052764023f83147002e9774bb319.zip
NetBSD uses signed wchar_t on ARM platforms.
llvm-svn: 195970
-rw-r--r--clang/lib/Basic/Targets.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 2d61b073de6..899b1e6014b 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -3708,8 +3708,15 @@ public:
BigEndian = false;
SizeType = UnsignedInt;
PtrDiffType = SignedInt;
- // AAPCS 7.1.1, ARM-Linux ABI 2.4: type of wchar_t is unsigned int.
- WCharType = UnsignedInt;
+ switch (getTriple().getOS()) {
+ case llvm::Triple::NetBSD:
+ WCharType = SignedInt;
+ break;
+ default:
+ // AAPCS 7.1.1, ARM-Linux ABI 2.4: type of wchar_t is unsigned int.
+ WCharType = UnsignedInt;
+ break;
+ }
// {} in inline assembly are neon specifiers, not assembly variant
// specifiers.
OpenPOWER on IntegriCloud