From 404ae9f8b29b3cee93d9e68d03d2f68c19bdfc31 Mon Sep 17 00:00:00 2001 From: Joerg Sonnenberger Date: Wed, 26 Mar 2014 11:48:29 +0000 Subject: [PATCH] From Matt Thomas: use long long for [u]int64_t and [u]intmax_t on NetBSD/aarch64 to simplify code sharing with NetBSD/arm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204798 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 14 +++++++++----- test/Preprocessor/init.c | 10 +++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index d22599dec6..fa1fb83845 100644 --- a/lib/Basic/Targets.cpp +++ b/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 diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index 94b062ea36..7b19ad3cdd 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -462,11 +462,11 @@ // AARCH64-NETBSD:#define __FLT_RADIX__ 2 // AARCH64-NETBSD:#define __INT16_TYPE__ short // AARCH64-NETBSD:#define __INT32_TYPE__ int -// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ L -// AARCH64-NETBSD:#define __INT64_TYPE__ long int +// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL +// AARCH64-NETBSD:#define __INT64_TYPE__ long long int // AARCH64-NETBSD:#define __INT8_TYPE__ char -// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L -// AARCH64-NETBSD:#define __INTMAX_TYPE__ long int +// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL +// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int // AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64 // AARCH64-NETBSD:#define __INTPTR_TYPE__ long int // AARCH64-NETBSD:#define __INTPTR_WIDTH__ 64 @@ -510,7 +510,7 @@ // AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL // AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int // AARCH64-NETBSD:#define __SIZE_WIDTH__ 64 -// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int +// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int // AARCH64-NETBSD:#define __USER_LABEL_PREFIX__ // AARCH64-NETBSD:#define __WCHAR_MAX__ 2147483647 // AARCH64-NETBSD:#define __WCHAR_TYPE__ int -- 2.40.0