llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: None (YexuanXiao) <details> <summary>Changes</summary> Previously, I made the `sizeof` expression return the `__size_t` type instead of `unsigned int`/`long`/`long long` (#<!-- -->143653). However, the types of the predefined macros `__SIZE_TYPE__` and `__PTRDIFF_TYPE__` obtained from `TargetInfo` are still `unsigned` `int`/`long`/`long long`. This causes the common sugar type for evaluating `size_t(0)` and `sizeof(0)` to be `unsigned` `int`/`long`/`long long` instead of `__size_t` when using glibc/llvm-libc/libc++. --- Patch is 50.04 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/155979.diff 15 Files Affected: - (modified) clang/lib/Frontend/InitPreprocessor.cpp (+6-4) - (modified) clang/test/Preprocessor/init-aarch64.c (+7-7) - (modified) clang/test/Preprocessor/init-arm.c (+16-16) - (modified) clang/test/Preprocessor/init-csky.c (+2-2) - (modified) clang/test/Preprocessor/init-loongarch.c (+4-4) - (modified) clang/test/Preprocessor/init-mips.c (+12-12) - (modified) clang/test/Preprocessor/init-ppc.c (+8-8) - (modified) clang/test/Preprocessor/init-ppc64.c (+8-8) - (modified) clang/test/Preprocessor/init-s390x.c (+2-2) - (modified) clang/test/Preprocessor/init-v7k-compat.c (+2-2) - (modified) clang/test/Preprocessor/init-ve.c (+2-2) - (modified) clang/test/Preprocessor/init-x86.c (+18-18) - (modified) clang/test/Preprocessor/init.c (+46-46) - (modified) clang/test/Preprocessor/woa-defaults.c (+2-2) - (modified) clang/test/Sema/warn-bad-function-cast.c (+5-2) ``````````diff diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index 4865c0b889044..5183afe6618b9 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -1175,13 +1175,15 @@ static void InitializePredefinedMacros(const TargetInfo &TI, Builder.defineMacro("__UINTMAX_C_SUFFIX__", ConstSuffix); Builder.defineMacro("__UINTMAX_C(c)", ConstSuffix.size() ? Twine("c##") + ConstSuffix : "c"); - DefineType("__PTRDIFF_TYPE__", TI.getPtrDiffType(LangAS::Default), Builder); - DefineFmt(LangOpts, "__PTRDIFF", TI.getPtrDiffType(LangAS::Default), TI, - Builder); DefineType("__INTPTR_TYPE__", TI.getIntPtrType(), Builder); DefineFmt(LangOpts, "__INTPTR", TI.getIntPtrType(), TI, Builder); - DefineType("__SIZE_TYPE__", TI.getSizeType(), Builder); + // Use deduction to obtain the built-in __size_t and __ptrdiff_t types instead + // of standard integer types + Builder.defineMacro("__SIZE_TYPE__", "__typeof(sizeof(0))"); DefineFmt(LangOpts, "__SIZE", TI.getSizeType(), TI, Builder); + Builder.defineMacro("__PTRDIFF_TYPE__", "__typeof((int*)0-(int*)0)"); + DefineFmt(LangOpts, "__PTRDIFF", TI.getPtrDiffType(LangAS::Default), TI, + Builder); DefineType("__WCHAR_TYPE__", TI.getWCharType(), Builder); DefineType("__WINT_TYPE__", TI.getWIntType(), Builder); DefineTypeSizeAndWidth("__SIG_ATOMIC", TI.getSigAtomicType(), TI, Builder); diff --git a/clang/test/Preprocessor/init-aarch64.c b/clang/test/Preprocessor/init-aarch64.c index 3036b496db25d..91e1e502e5256 100644 --- a/clang/test/Preprocessor/init-aarch64.c +++ b/clang/test/Preprocessor/init-aarch64.c @@ -255,7 +255,7 @@ // AARCH64-NEXT: #define __PTRDIFF_FMTd__ "ld" // AARCH64-NEXT: #define __PTRDIFF_FMTi__ "li" // AARCH64-NEXT: #define __PTRDIFF_MAX__ 9223372036854775807L -// AARCH64-NEXT: #define __PTRDIFF_TYPE__ long int +// AARCH64-NEXT: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // AARCH64-NEXT: #define __PTRDIFF_WIDTH__ 64 // AARCH64-NEXT: #define __SCHAR_MAX__ 127 // AARCH64-NEXT: #define __SHRT_MAX__ 32767 @@ -280,7 +280,7 @@ // AARCH64-NEXT: #define __SIZE_FMTu__ "lu" // AARCH64-NEXT: #define __SIZE_FMTx__ "lx" // AARCH64-NEXT: #define __SIZE_MAX__ 18446744073709551615UL -// AARCH64-NEXT: #define __SIZE_TYPE__ long unsigned int +// AARCH64-NEXT: #define __SIZE_TYPE__ __typeof(sizeof(0)) // AARCH64-NEXT: #define __SIZE_WIDTH__ 64 // AARCH64_CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL // AARCH64_CXX: #define __STDCPP_THREADS__ 1 @@ -531,7 +531,7 @@ // AARCH64-DARWIN: #define __LONG_MAX__ 9223372036854775807L // AARCH64-DARWIN: #define __LP64__ 1 // AARCH64-DARWIN: #define __POINTER_WIDTH__ 64 -// AARCH64-DARWIN: #define __PTRDIFF_TYPE__ long int +// AARCH64-DARWIN: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // AARCH64-DARWIN: #define __PTRDIFF_WIDTH__ 64 // AARCH64-DARWIN: #define __SCHAR_MAX__ 127 // AARCH64-DARWIN: #define __SHRT_MAX__ 32767 @@ -551,7 +551,7 @@ // AARCH64-DARWIN: #define __SIZEOF_WCHAR_T__ 4 // AARCH64-DARWIN: #define __SIZEOF_WINT_T__ 4 // AARCH64-DARWIN: #define __SIZE_MAX__ 18446744073709551615UL -// AARCH64-DARWIN: #define __SIZE_TYPE__ long unsigned int +// AARCH64-DARWIN: #define __SIZE_TYPE__ __typeof(sizeof(0)) // AARCH64-DARWIN: #define __SIZE_WIDTH__ 64 // AARCH64-DARWIN: #define __UINT16_C(c) c // AARCH64-DARWIN: #define __UINT16_C_SUFFIX__ @@ -716,7 +716,7 @@ // AARCH64-MSVC: #define __SIZEOF_WCHAR_T__ 2 // AARCH64-MSVC: #define __SIZEOF_WINT_T__ 2 // AARCH64-MSVC: #define __SIZE_MAX__ 18446744073709551615ULL -// AARCH64-MSVC: #define __SIZE_TYPE__ long long unsigned int +// AARCH64-MSVC: #define __SIZE_TYPE__ __typeof(sizeof(0)) // AARCH64-MSVC: #define __SIZE_WIDTH__ 64 // AARCH64-MSVC: #define __STDC_HOSTED__ 0 // AARCH64-MSVC: #define __STDC_UTF_16__ 1 @@ -1010,7 +1010,7 @@ // ARM64EC-MSVC: #define __PTRDIFF_FMTd__ "lld" // ARM64EC-MSVC: #define __PTRDIFF_FMTi__ "lli" // ARM64EC-MSVC: #define __PTRDIFF_MAX__ 9223372036854775807LL -// ARM64EC-MSVC: #define __PTRDIFF_TYPE__ long long int +// ARM64EC-MSVC: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARM64EC-MSVC: #define __PTRDIFF_WIDTH__ 64 // ARM64EC-MSVC: #define __SCHAR_MAX__ 127 // ARM64EC-MSVC: #define __SHRT_MAX__ 32767 @@ -1035,7 +1035,7 @@ // ARM64EC-MSVC: #define __SIZE_FMTu__ "llu" // ARM64EC-MSVC: #define __SIZE_FMTx__ "llx" // ARM64EC-MSVC: #define __SIZE_MAX__ 18446744073709551615ULL -// ARM64EC-MSVC: #define __SIZE_TYPE__ long long unsigned int +// ARM64EC-MSVC: #define __SIZE_TYPE__ __typeof(sizeof(0)) // ARM64EC-MSVC: #define __SIZE_WIDTH__ 64 // ARM64EC-MSVC: #define __STDC_HOSTED__ 0 // ARM64EC-MSVC: #define __STDC_NO_THREADS__ 1 diff --git a/clang/test/Preprocessor/init-arm.c b/clang/test/Preprocessor/init-arm.c index d2fcfe94bcd3d..50b199a38cbb0 100644 --- a/clang/test/Preprocessor/init-arm.c +++ b/clang/test/Preprocessor/init-arm.c @@ -133,7 +133,7 @@ // ARM:#define __LONG_MAX__ 2147483647L // ARM-NOT:#define __LP64__ // ARM:#define __POINTER_WIDTH__ 32 -// ARM:#define __PTRDIFF_TYPE__ int +// ARM:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARM:#define __PTRDIFF_WIDTH__ 32 // ARM:#define __REGISTER_PREFIX__ // ARM:#define __SCHAR_MAX__ 127 @@ -153,7 +153,7 @@ // ARM:#define __SIZEOF_WCHAR_T__ 4 // ARM:#define __SIZEOF_WINT_T__ 4 // ARM:#define __SIZE_MAX__ 4294967295U -// ARM:#define __SIZE_TYPE__ unsigned int +// ARM:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARM:#define __SIZE_WIDTH__ 32 // ARM-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U // ARM:#define __UINT16_C(c) c @@ -213,8 +213,8 @@ // RUN: %clang_cc1 -dM -ffreestanding -triple arm-none-none -target-abi apcs-gnu -E /dev/null -o - | FileCheck -match-full-lines -check-prefix ARM-APCS-GNU %s // ARM-APCS-GNU: #define __INTPTR_TYPE__ int -// ARM-APCS-GNU: #define __PTRDIFF_TYPE__ int -// ARM-APCS-GNU: #define __SIZE_TYPE__ unsigned int +// ARM-APCS-GNU: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) +// ARM-APCS-GNU: #define __SIZE_TYPE__ __typeof(sizeof(0)) // RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -match-full-lines -check-prefix ARM-BE %s // @@ -344,7 +344,7 @@ // ARM-BE:#define __LONG_MAX__ 2147483647L // ARM-BE-NOT:#define __LP64__ // ARM-BE:#define __POINTER_WIDTH__ 32 -// ARM-BE:#define __PTRDIFF_TYPE__ int +// ARM-BE:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARM-BE:#define __PTRDIFF_WIDTH__ 32 // ARM-BE:#define __REGISTER_PREFIX__ // ARM-BE:#define __SCHAR_MAX__ 127 @@ -364,7 +364,7 @@ // ARM-BE:#define __SIZEOF_WCHAR_T__ 4 // ARM-BE:#define __SIZEOF_WINT_T__ 4 // ARM-BE:#define __SIZE_MAX__ 4294967295U -// ARM-BE:#define __SIZE_TYPE__ unsigned int +// ARM-BE:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARM-BE:#define __SIZE_WIDTH__ 32 // ARM-BE:#define __UINT16_C(c) c // ARM-BE:#define __UINT16_C_SUFFIX__ @@ -547,7 +547,7 @@ // ARMEABISOFT:#define __LONG_MAX__ 2147483647L // ARMEABISOFT-NOT:#define __LP64__ // ARMEABISOFT:#define __POINTER_WIDTH__ 32 -// ARMEABISOFT:#define __PTRDIFF_TYPE__ int +// ARMEABISOFT:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARMEABISOFT:#define __PTRDIFF_WIDTH__ 32 // ARMEABISOFT:#define __REGISTER_PREFIX__ // ARMEABISOFT:#define __SCHAR_MAX__ 127 @@ -567,7 +567,7 @@ // ARMEABISOFT:#define __SIZEOF_WCHAR_T__ 4 // ARMEABISOFT:#define __SIZEOF_WINT_T__ 4 // ARMEABISOFT:#define __SIZE_MAX__ 4294967295U -// ARMEABISOFT:#define __SIZE_TYPE__ unsigned int +// ARMEABISOFT:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARMEABISOFT:#define __SIZE_WIDTH__ 32 // ARMEABISOFT:#define __SOFTFP__ 1 // ARMEABISOFT:#define __UINT16_C(c) c @@ -757,7 +757,7 @@ // ARMEABISOFTFP_NOFP:#define __LONG_MAX__ 2147483647L // ARMEABISOFTFP_NOFP-NOT:#define __LP64__ // ARMEABISOFTFP_NOFP:#define __POINTER_WIDTH__ 32 -// ARMEABISOFTFP_NOFP:#define __PTRDIFF_TYPE__ int +// ARMEABISOFTFP_NOFP:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARMEABISOFTFP_NOFP:#define __PTRDIFF_WIDTH__ 32 // ARMEABISOFTFP_NOFP:#define __REGISTER_PREFIX__ // ARMEABISOFTFP_NOFP:#define __SCHAR_MAX__ 127 @@ -777,7 +777,7 @@ // ARMEABISOFTFP_NOFP:#define __SIZEOF_WCHAR_T__ 4 // ARMEABISOFTFP_NOFP:#define __SIZEOF_WINT_T__ 4 // ARMEABISOFTFP_NOFP:#define __SIZE_MAX__ 4294967295U -// ARMEABISOFTFP_NOFP:#define __SIZE_TYPE__ unsigned int +// ARMEABISOFTFP_NOFP:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARMEABISOFTFP_NOFP:#define __SIZE_WIDTH__ 32 // ARMEABISOFTFP_NOFP:#define __SOFTFP__ 1 // ARMEABISOFTFP_NOFP:#define __UINT16_C(c) c @@ -961,7 +961,7 @@ // ARMEABISOFTFP_FP:#define __LONG_MAX__ 2147483647L // ARMEABISOFTFP_FP-NOT:#define __LP64__ // ARMEABISOFTFP_FP:#define __POINTER_WIDTH__ 32 -// ARMEABISOFTFP_FP:#define __PTRDIFF_TYPE__ int +// ARMEABISOFTFP_FP:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARMEABISOFTFP_FP:#define __PTRDIFF_WIDTH__ 32 // ARMEABISOFTFP_FP:#define __REGISTER_PREFIX__ // ARMEABISOFTFP_FP:#define __SCHAR_MAX__ 127 @@ -981,7 +981,7 @@ // ARMEABISOFTFP_FP:#define __SIZEOF_WCHAR_T__ 4 // ARMEABISOFTFP_FP:#define __SIZEOF_WINT_T__ 4 // ARMEABISOFTFP_FP:#define __SIZE_MAX__ 4294967295U -// ARMEABISOFTFP_FP:#define __SIZE_TYPE__ unsigned int +// ARMEABISOFTFP_FP:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARMEABISOFTFP_FP:#define __SIZE_WIDTH__ 32 // ARMEABISOFTFP_FP-NOT:#define __SOFTFP__ 1 // ARMEABISOFTFP_FP:#define __UINT16_C(c) c @@ -1165,7 +1165,7 @@ // ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L // ARMEABIHARDFP-NOT:#define __LP64__ // ARMEABIHARDFP:#define __POINTER_WIDTH__ 32 -// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int +// ARMEABIHARDFP:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32 // ARMEABIHARDFP:#define __REGISTER_PREFIX__ // ARMEABIHARDFP:#define __SCHAR_MAX__ 127 @@ -1185,7 +1185,7 @@ // ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4 // ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4 // ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U -// ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int +// ARMEABIHARDFP:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARMEABIHARDFP:#define __SIZE_WIDTH__ 32 // ARMEABIHARDFP-NOT:#define __SOFTFP__ 1 // ARMEABIHARDFP:#define __UINT16_C(c) c @@ -1367,7 +1367,7 @@ // ARM-NETBSD:#define __LONG_MAX__ 2147483647L // ARM-NETBSD-NOT:#define __LP64__ // ARM-NETBSD:#define __POINTER_WIDTH__ 32 -// ARM-NETBSD:#define __PTRDIFF_TYPE__ long int +// ARM-NETBSD:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // ARM-NETBSD:#define __PTRDIFF_WIDTH__ 32 // ARM-NETBSD:#define __REGISTER_PREFIX__ // ARM-NETBSD:#define __SCHAR_MAX__ 127 @@ -1387,7 +1387,7 @@ // ARM-NETBSD:#define __SIZEOF_WCHAR_T__ 4 // ARM-NETBSD:#define __SIZEOF_WINT_T__ 4 // ARM-NETBSD:#define __SIZE_MAX__ 4294967295UL -// ARM-NETBSD:#define __SIZE_TYPE__ long unsigned int +// ARM-NETBSD:#define __SIZE_TYPE__ __typeof(sizeof(0)) // ARM-NETBSD:#define __SIZE_WIDTH__ 32 // ARM-NETBSD:#define __SOFTFP__ 1 // ARM-NETBSD:#define __UINT16_C(c) c diff --git a/clang/test/Preprocessor/init-csky.c b/clang/test/Preprocessor/init-csky.c index 99c5ad1010edb..da0b11e055d1e 100644 --- a/clang/test/Preprocessor/init-csky.c +++ b/clang/test/Preprocessor/init-csky.c @@ -130,7 +130,7 @@ // CSKY: #define __POINTER_WIDTH__ 32 // CSKY: #define __PRAGMA_REDEFINE_EXTNAME 1 // CSKY: #define __PTRDIFF_MAX__ 2147483647 -// CSKY: #define __PTRDIFF_TYPE__ int +// CSKY: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // CSKY: #define __PTRDIFF_WIDTH__ 32 // CSKY: #define __SCHAR_MAX__ 127 // CSKY: #define __SHRT_MAX__ 32767 @@ -150,7 +150,7 @@ // CSKY: #define __SIZEOF_WCHAR_T__ 4 // CSKY: #define __SIZEOF_WINT_T__ 4 // CSKY: #define __SIZE_MAX__ 4294967295U -// CSKY: #define __SIZE_TYPE__ unsigned int +// CSKY: #define __SIZE_TYPE__ __typeof(sizeof(0)) // CSKY: #define __SIZE_WIDTH__ 32 // CSKY: #define __STDC_HOSTED__ 0 // CSKY: #define __STDC_UTF_16__ 1 diff --git a/clang/test/Preprocessor/init-loongarch.c b/clang/test/Preprocessor/init-loongarch.c index 71a266b8a9157..9907a99166371 100644 --- a/clang/test/Preprocessor/init-loongarch.c +++ b/clang/test/Preprocessor/init-loongarch.c @@ -200,7 +200,7 @@ // LA32: #define __PTRDIFF_FMTd__ "d" // LA32: #define __PTRDIFF_FMTi__ "i" // LA32: #define __PTRDIFF_MAX__ 2147483647 -// LA32: #define __PTRDIFF_TYPE__ int +// LA32: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // LA32: #define __PTRDIFF_WIDTH__ 32 // LA32: #define __SCHAR_MAX__ 127 // LA32: #define __SHRT_MAX__ 32767 @@ -225,7 +225,7 @@ // LA32: #define __SIZE_FMTu__ "u" // LA32: #define __SIZE_FMTx__ "x" // LA32: #define __SIZE_MAX__ 4294967295U -// LA32: #define __SIZE_TYPE__ unsigned int +// LA32: #define __SIZE_TYPE__ __typeof(sizeof(0)) // LA32: #define __SIZE_WIDTH__ 32 // LA32: #define __STDC_HOSTED__ 0 // LA32: #define __STDC_UTF_16__ 1 @@ -532,7 +532,7 @@ // LA64: #define __PTRDIFF_FMTd__ "ld" // LA64: #define __PTRDIFF_FMTi__ "li" // LA64: #define __PTRDIFF_MAX__ 9223372036854775807L -// LA64: #define __PTRDIFF_TYPE__ long int +// LA64: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // LA64: #define __PTRDIFF_WIDTH__ 64 // LA64: #define __SCHAR_MAX__ 127 // LA64: #define __SHRT_MAX__ 32767 @@ -557,7 +557,7 @@ // LA64: #define __SIZE_FMTu__ "lu" // LA64: #define __SIZE_FMTx__ "lx" // LA64: #define __SIZE_MAX__ 18446744073709551615UL -// LA64: #define __SIZE_TYPE__ long unsigned int +// LA64: #define __SIZE_TYPE__ __typeof(sizeof(0)) // LA64: #define __SIZE_WIDTH__ 64 // LA64: #define __STDC_HOSTED__ 0 // LA64: #define __STDC_UTF_16__ 1 diff --git a/clang/test/Preprocessor/init-mips.c b/clang/test/Preprocessor/init-mips.c index 125872a001bac..46b25f07852f2 100644 --- a/clang/test/Preprocessor/init-mips.c +++ b/clang/test/Preprocessor/init-mips.c @@ -138,7 +138,7 @@ // MIPS32BE:#define __MIPSEB__ 1 // MIPS32BE:#define __POINTER_WIDTH__ 32 // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1 -// MIPS32BE:#define __PTRDIFF_TYPE__ int +// MIPS32BE:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // MIPS32BE:#define __PTRDIFF_WIDTH__ 32 // MIPS32BE:#define __REGISTER_PREFIX__ // MIPS32BE:#define __SCHAR_MAX__ 127 @@ -158,7 +158,7 @@ // MIPS32BE:#define __SIZEOF_WCHAR_T__ 4 // MIPS32BE:#define __SIZEOF_WINT_T__ 4 // MIPS32BE:#define __SIZE_MAX__ 4294967295U -// MIPS32BE:#define __SIZE_TYPE__ unsigned int +// MIPS32BE:#define __SIZE_TYPE__ __typeof(sizeof(0)) // MIPS32BE:#define __SIZE_WIDTH__ 32 // MIPS32BE-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U // MIPS32BE:#define __STDC_HOSTED__ 0 @@ -359,7 +359,7 @@ // MIPS32EL:#define __MIPSEL__ 1 // MIPS32EL:#define __POINTER_WIDTH__ 32 // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1 -// MIPS32EL:#define __PTRDIFF_TYPE__ int +// MIPS32EL:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // MIPS32EL:#define __PTRDIFF_WIDTH__ 32 // MIPS32EL:#define __REGISTER_PREFIX__ // MIPS32EL:#define __SCHAR_MAX__ 127 @@ -379,7 +379,7 @@ // MIPS32EL:#define __SIZEOF_WCHAR_T__ 4 // MIPS32EL:#define __SIZEOF_WINT_T__ 4 // MIPS32EL:#define __SIZE_MAX__ 4294967295U -// MIPS32EL:#define __SIZE_TYPE__ unsigned int +// MIPS32EL:#define __SIZE_TYPE__ __typeof(sizeof(0)) // MIPS32EL:#define __SIZE_WIDTH__ 32 // MIPS32EL:#define __UINT16_C(c) c // MIPS32EL:#define __UINT16_C_SUFFIX__ @@ -611,7 +611,7 @@ // MIPSN32BE: #define __PTRDIFF_FMTd__ "d" // MIPSN32BE: #define __PTRDIFF_FMTi__ "i" // MIPSN32BE: #define __PTRDIFF_MAX__ 2147483647 -// MIPSN32BE: #define __PTRDIFF_TYPE__ int +// MIPSN32BE: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // MIPSN32BE: #define __PTRDIFF_WIDTH__ 32 // MIPSN32BE: #define __REGISTER_PREFIX__ // MIPSN32BE: #define __SCHAR_MAX__ 127 @@ -635,7 +635,7 @@ // MIPSN32BE: #define __SIZE_FMTu__ "u" // MIPSN32BE: #define __SIZE_FMTx__ "x" // MIPSN32BE: #define __SIZE_MAX__ 4294967295U -// MIPSN32BE: #define __SIZE_TYPE__ unsigned int +// MIPSN32BE: #define __SIZE_TYPE__ __typeof(sizeof(0)) // MIPSN32BE: #define __SIZE_WIDTH__ 32 // MIPSN32BE-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16U // MIPSN32BE: #define __STDC_HOSTED__ 0 @@ -929,7 +929,7 @@ // MIPSN32EL: #define __PTRDIFF_FMTd__ "d" // MIPSN32EL: #define __PTRDIFF_FMTi__ "i" // MIPSN32EL: #define __PTRDIFF_MAX__ 2147483647 -// MIPSN32EL: #define __PTRDIFF_TYPE__ int +// MIPSN32EL: #define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // MIPSN32EL: #define __PTRDIFF_WIDTH__ 32 // MIPSN32EL: #define __REGISTER_PREFIX__ // MIPSN32EL: #define __SCHAR_MAX__ 127 @@ -953,7 +953,7 @@ // MIPSN32EL: #define __SIZE_FMTu__ "u" // MIPSN32EL: #define __SIZE_FMTx__ "x" // MIPSN32EL: #define __SIZE_MAX__ 4294967295U -// MIPSN32EL: #define __SIZE_TYPE__ unsigned int +// MIPSN32EL: #define __SIZE_TYPE__ __typeof(sizeof(0)) // MIPSN32EL: #define __SIZE_WIDTH__ 32 // MIPSN32EL: #define __STDC_HOSTED__ 0 // MIPSN32EL: #define __STDC_UTF_16__ 1 @@ -1215,7 +1215,7 @@ // MIPS64BE:#define __MIPSEB__ 1 // MIPS64BE:#define __POINTER_WIDTH__ 64 // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1 -// MIPS64BE:#define __PTRDIFF_TYPE__ long int +// MIPS64BE:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // MIPS64BE:#define __PTRDIFF_WIDTH__ 64 // MIPS64BE:#define __REGISTER_PREFIX__ // MIPS64BE:#define __SCHAR_MAX__ 127 @@ -1236,7 +1236,7 @@ // MIPS64BE:#define __SIZEOF_WCHAR_T__ 4 // MIPS64BE:#define __SIZEOF_WINT_T__ 4 // MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL -// MIPS64BE:#define __SIZE_TYPE__ long unsigned int +// MIPS64BE:#define __SIZE_TYPE__ __typeof(sizeof(0)) // MIPS64BE:#define __SIZE_WIDTH__ 64 // MIPS64BE-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL // MIPS64BE:#define __UINT16_C(c) c @@ -1436,7 +1436,7 @@ // MIPS64EL:#define __MIPSEL__ 1 // MIPS64EL:#define __POINTER_WIDTH__ 64 // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1 -// MIPS64EL:#define __PTRDIFF_TYPE__ long int +// MIPS64EL:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // MIPS64EL:#define __PTRDIFF_WIDTH__ 64 // MIPS64EL:#define __REGISTER_PREFIX__ // MIPS64EL:#define __SCHAR_MAX__ 127 @@ -1457,7 +1457,7 @@ // MIPS64EL:#define __SIZEOF_WCHAR_T__ 4 // MIPS64EL:#define __SIZEOF_WINT_T__ 4 // MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL -// MIPS64EL:#define __SIZE_TYPE__ long unsigned int +// MIPS64EL:#define __SIZE_TYPE__ __typeof(sizeof(0)) // MIPS64EL:#define __SIZE_WIDTH__ 64 // MIPS64EL:#define __UINT16_C(c) c // MIPS64EL:#define __UINT16_C_SUFFIX__ diff --git a/clang/test/Preprocessor/init-ppc.c b/clang/test/Preprocessor/init-ppc.c index 6b7eceda9b97b..2f73133cf6bd9 100644 --- a/clang/test/Preprocessor/init-ppc.c +++ b/clang/test/Preprocessor/init-ppc.c @@ -132,7 +132,7 @@ // PPC603E:#define __POINTER_WIDTH__ 32 // PPC603E:#define __POWERPC__ 1 // PPC603E:#define __PPC__ 1 -// PPC603E:#define __PTRDIFF_TYPE__ long int +// PPC603E:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // PPC603E:#define __PTRDIFF_WIDTH__ 32 // PPC603E:#define __REGISTER_PREFIX__ // PPC603E:#define __SCHAR_MAX__ 127 @@ -152,7 +152,7 @@ // PPC603E:#define __SIZEOF_WCHAR_T__ 4 // PPC603E:#define __SIZEOF_WINT_T__ 4 // PPC603E:#define __SIZE_MAX__ 4294967295UL -// PPC603E:#define __SIZE_TYPE__ long unsigned int +// PPC603E:#define __SIZE_TYPE__ __typeof(sizeof(0)) // PPC603E:#define __SIZE_WIDTH__ 32 // PPC603E-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL // PPC603E:#define __UINT16_C(c) c @@ -337,7 +337,7 @@ // PPC:#define __POWERPC__ 1 // PPC-NOT:#define __PPC 1 // PPC:#define __PPC__ 1 -// PPC:#define __PTRDIFF_TYPE__ long int +// PPC:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // PPC:#define __PTRDIFF_WIDTH__ 32 // PPC:#define __REGISTER_PREFIX__ // PPC:#define __SCHAR_MAX__ 127 @@ -357,7 +357,7 @@ // PPC:#define __SIZEOF_WCHAR_T__ 4 // PPC:#define __SIZEOF_WINT_T__ 4 // PPC:#define __SIZE_MAX__ 4294967295UL -// PPC:#define __SIZE_TYPE__ long unsigned int +// PPC:#define __SIZE_TYPE__ __typeof(sizeof(0)) // PPC:#define __SIZE_WIDTH__ 32 // PPC:#define __UINT16_C(c) c // PPC:#define __UINT16_C_SUFFIX__ @@ -546,7 +546,7 @@ // PPC-AIX:#define __POWERPC__ 1 // PPC-AIX:#define __PPC 1 // PPC-AIX:#define __PPC__ 1 -// PPC-AIX:#define __PTRDIFF_TYPE__ long int +// PPC-AIX:#define __PTRDIFF_TYPE__ __typeof((int*)0-(int*)0) // PPC-AIX:#define __PTRDIFF_WIDTH__ 32 // PPC-AIX:#define __REGISTER_PREFIX__ // PPC-AIX:#define __SCHAR_MAX__ 127 @@ -566,7 +566,... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/155979 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits