summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-03-26 11:48:29 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-03-26 11:48:29 +0000
commit1f5984ca821d462d78ce20860a5f744c9c61afb2 (patch)
tree7fb6608ca9a10afcba6c2d178fc7af04d57719b1 /clang/lib
parent6dad838f3a337167b11d64a05b21e7a876e6dcb4 (diff)
downloadbcm5719-llvm-1f5984ca821d462d78ce20860a5f744c9c61afb2.tar.gz
bcm5719-llvm-1f5984ca821d462d78ce20860a5f744c9c61afb2.zip
From Matt Thomas: use long long for [u]int64_t and [u]intmax_t on
NetBSD/aarch64 to simplify code sharing with NetBSD/arm. llvm-svn: 204798
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Basic/Targets.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index d22599dec61..fa1fb83845c 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -3386,19 +3386,23 @@ class AArch64TargetInfo : public TargetInfo {
public:
AArch64TargetInfo(const llvm::Triple &Triple) : TargetInfo(Triple) {
- IntMaxType = SignedLong;
- UIntMaxType = UnsignedLong;
- Int64Type = SignedLong;
LongWidth = LongAlign = 64;
LongDoubleWidth = LongDoubleAlign = 128;
PointerWidth = PointerAlign = 64;
SuitableAlign = 128;
WCharType = UnsignedInt;
- if (getTriple().getOS() == llvm::Triple::NetBSD)
+ if (getTriple().getOS() == llvm::Triple::NetBSD) {
WCharType = SignedInt;
- else
+ Int64Type = SignedLongLong;
+ IntMaxType = SignedLongLong;
+ UIntMaxType = UnsignedLongLong;
+ } else {
WCharType = UnsignedInt;
+ Int64Type = SignedLong;
+ IntMaxType = SignedLong;
+ UIntMaxType = UnsignedLong;
+ }
LongDoubleFormat = &llvm::APFloat::IEEEquad;
// AArch64 backend supports 64-bit operations at the moment. In principle
OpenPOWER on IntegriCloud