From 84bfb7a85900446e3cc96a103601052781627043 Mon Sep 17 00:00:00 2001 From: Florent Revest Date: Mon, 14 Jul 2025 19:25:04 +0200 Subject: [PATCH 1/2] stdint.h: Fix build with newer clang Recent versions of Clang introduced definitions for __*INT64_C: https://github.com/llvm/llvm-project/commit/33ad474c45e6d7a0de7bc75e15e27cf6cb9ff895 This results in these build errors: usr/include/bits64/bitsize/stdint.h:27:9: error: '__INT64_C' macro redefined [-Werror,-Wmacro-redefined] 27 | #define __INT64_C(c) c ## L | ^ :194:9: note: previous definition is here 194 | #define __INT64_C(c) c##L | ^ Renaming these macros to something more unique avoids the errors. Upstream-Status: Backport [https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=1d27e1732f1326eaf98f4624100f83232d843616] Signed-off-by: Florent Revest Signed-off-by: Ben Hutchings Signed-off-by: Khem Raj --- usr/include/bits32/bitsize/stdint.h | 4 ++-- usr/include/bits64/bitsize/stdint.h | 4 ++-- usr/include/stdint.h | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/usr/include/bits32/bitsize/stdint.h b/usr/include/bits32/bitsize/stdint.h index 8e444b6..147090b 100644 --- a/usr/include/bits32/bitsize/stdint.h +++ b/usr/include/bits32/bitsize/stdint.h @@ -24,8 +24,8 @@ typedef unsigned int uint_fast32_t; typedef int intptr_t; typedef unsigned int uintptr_t; -#define __INT64_C(c) c ## LL -#define __UINT64_C(c) c ## ULL +#define __KLIBC_INT64_C(c) c ## LL +#define __KLIBC_UINT64_C(c) c ## ULL #define __PRI64_RANK "ll" #define __PRIFAST_RANK "" diff --git a/usr/include/bits64/bitsize/stdint.h b/usr/include/bits64/bitsize/stdint.h index 988e639..5bc64bf 100644 --- a/usr/include/bits64/bitsize/stdint.h +++ b/usr/include/bits64/bitsize/stdint.h @@ -24,8 +24,8 @@ typedef unsigned long int uint_fast32_t; typedef long int intptr_t; typedef unsigned long int uintptr_t; -#define __INT64_C(c) c ## L -#define __UINT64_C(c) c ## UL +#define __KLIBC_INT64_C(c) c ## L +#define __KLIBC_UINT64_C(c) c ## UL #define __PRI64_RANK "l" #define __PRIFAST_RANK "l" diff --git a/usr/include/stdint.h b/usr/include/stdint.h index f64f027..6cda583 100644 --- a/usr/include/stdint.h +++ b/usr/include/stdint.h @@ -31,17 +31,17 @@ typedef uint64_t uintmax_t; #define INT8_MIN (-128) #define INT16_MIN (-32768) #define INT32_MIN (-2147483647-1) -#define INT64_MIN (__INT64_C(-9223372036854775807)-1) +#define INT64_MIN (__KLIBC_INT64_C(-9223372036854775807)-1) #define INT8_MAX (127) #define INT16_MAX (32767) #define INT32_MAX (2147483647) -#define INT64_MAX (__INT64_C(9223372036854775807)) +#define INT64_MAX (__KLIBC_INT64_C(9223372036854775807)) #define UINT8_MAX (255U) #define UINT16_MAX (65535U) #define UINT32_MAX (4294967295U) -#define UINT64_MAX (__UINT64_C(18446744073709551615)) +#define UINT64_MAX (__KLIBC_UINT64_C(18446744073709551615)) #define INT_LEAST8_MIN INT8_MIN #define INT_LEAST16_MIN INT16_MIN @@ -80,12 +80,12 @@ typedef uint64_t uintmax_t; #define INT8_C(c) c #define INT16_C(c) c #define INT32_C(c) c -#define INT64_C(c) __INT64_C(c) +#define INT64_C(c) __KLIBC_INT64_C(c) #define UINT8_C(c) c ## U #define UINT16_C(c) c ## U #define UINT32_C(c) c ## U -#define UINT64_C(c) __UINT64_C(c) +#define UINT64_C(c) __KLIBC_UINT64_C(c) #define INT_LEAST8_C(c) INT8_C(c) #define INT_LEAST16_C(c) INT16_C(c)