From a7e10abc2f80b0584f416b064f260d5ebdbf2841 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Tue, 17 Oct 2017 22:49:53 +0000 Subject: [PATCH] Basic: fix `__INTPTR_TYPE__` for Windows ARM The `IntPtrType` for Windows ARM should be `int` as per MSVC. Adjust the type accordingly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316042 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets/ARM.cpp | 1 + test/Preprocessor/woa-defaults.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/lib/Basic/Targets/ARM.cpp b/lib/Basic/Targets/ARM.cpp index 92685fcd21..83fd9690ca 100644 --- a/lib/Basic/Targets/ARM.cpp +++ b/lib/Basic/Targets/ARM.cpp @@ -923,6 +923,7 @@ WindowsARMTargetInfo::WindowsARMTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : WindowsTargetInfo(Triple, Opts), Triple(Triple) { SizeType = UnsignedInt; + IntPtrType = SignedInt; } void WindowsARMTargetInfo::getVisualStudioDefines(const LangOptions &Opts, diff --git a/test/Preprocessor/woa-defaults.c b/test/Preprocessor/woa-defaults.c index 6eab3b96f4..4eef863b23 100644 --- a/test/Preprocessor/woa-defaults.c +++ b/test/Preprocessor/woa-defaults.c @@ -10,9 +10,12 @@ // CHECK: #define _M_THUMB _M_ARM // CHECK: #define _WIN32 1 + // CHECK: #define __ARM_PCS 1 // CHECK: #define __ARM_PCS_VFP 1 // CHECK: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// CHECK: #define __INTPTR_TYPE__ int +// CHECK: #define __PTRDIFF_TYPE__ int // CHECK: #define __SIZEOF_DOUBLE__ 8 // CHECK: #define __SIZEOF_FLOAT__ 4 // CHECK: #define __SIZEOF_INT__ 4 @@ -25,6 +28,8 @@ // CHECK: #define __SIZEOF_SIZE_T__ 4 // CHECK: #define __SIZEOF_WCHAR_T__ 2 // CHECK: #define __SIZEOF_WINT_T__ 4 +// CHECK: #define __SIZE_TYPE__ unsigned int +// CHECK: #define __UINTPTR_TYPE__ unsigned int // CHECK-NOT: __THUMB_INTERWORK__ // CHECK-NOT: __ARM_EABI__ -- 2.40.0