From f4502ab59c7b68d9e97b6a7f95e788535ab526cd Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool <compnerd@compnerd.org> Date: Fri, 20 Oct 2017 04:11:28 +0000 Subject: [PATCH] Basic: restore {,u}intptr_t on NetBSD/ARM NetBSD uses `long int` for `intptr_t` on ARM. This was changed in SVN r316046, referenced against other compilers. However, NetBSD's reference was incorrect as the current clang behaviour is more up-to-date. Restore the original behaviour for that target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316204 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets/ARM.cpp | 7 ++++--- test/Preprocessor/init.c | 12 ++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/Basic/Targets/ARM.cpp b/lib/Basic/Targets/ARM.cpp index 992cfbde364..1b236dd2208 100644 --- a/lib/Basic/Targets/ARM.cpp +++ b/lib/Basic/Targets/ARM.cpp @@ -236,9 +236,10 @@ ARMTargetInfo::ARMTargetInfo(const llvm::Triple &Triple, break; } - IntPtrType = (Triple.isOSDarwin() || Triple.getOS() == llvm::Triple::OpenBSD) - ? SignedLong - : SignedInt; + bool IsOpenBSD = Triple.getOS() == llvm::Triple::OpenBSD; + bool IsNetBSD = Triple.getOS() == llvm::Triple::NetBSD; + IntPtrType = + (Triple.isOSDarwin() || IsOpenBSD || IsNetBSD) ? SignedLong : SignedInt; // Cache arch related info. setArchInfo(); diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index bb5c00122d7..293a3d6ad08 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -2446,10 +2446,10 @@ // ARM-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL // ARM-NETBSD:#define __INTMAX_TYPE__ long long int // ARM-NETBSD:#define __INTMAX_WIDTH__ 64 -// ARM-NETBSD:#define __INTPTR_FMTd__ "d" -// ARM-NETBSD:#define __INTPTR_FMTi__ "i" -// ARM-NETBSD:#define __INTPTR_MAX__ 2147483647 -// ARM-NETBSD:#define __INTPTR_TYPE__ int +// ARM-NETBSD:#define __INTPTR_FMTd__ "ld" +// ARM-NETBSD:#define __INTPTR_FMTi__ "li" +// ARM-NETBSD:#define __INTPTR_MAX__ 2147483647L +// ARM-NETBSD:#define __INTPTR_TYPE__ long int // ARM-NETBSD:#define __INTPTR_WIDTH__ 32 // ARM-NETBSD:#define __INT_FAST16_FMTd__ "hd" // ARM-NETBSD:#define __INT_FAST16_FMTi__ "hi" @@ -2541,8 +2541,8 @@ // ARM-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615ULL // ARM-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int // ARM-NETBSD:#define __UINTMAX_WIDTH__ 64 -// ARM-NETBSD:#define __UINTPTR_MAX__ 4294967295U -// ARM-NETBSD:#define __UINTPTR_TYPE__ unsigned int +// ARM-NETBSD:#define __UINTPTR_MAX__ 4294967295UL +// ARM-NETBSD:#define __UINTPTR_TYPE__ long unsigned int // ARM-NETBSD:#define __UINTPTR_WIDTH__ 32 // ARM-NETBSD:#define __UINT_FAST16_MAX__ 65535 // ARM-NETBSD:#define __UINT_FAST16_TYPE__ unsigned short -- GitLab