https://github.com/daltenty updated https://github.com/llvm/llvm-project/pull/187565
>From 6313df5803ccafbd79f38bc4f68958e65ad15eb6 Mon Sep 17 00:00:00 2001 From: David Tenty <[email protected]> Date: Thu, 19 Mar 2026 14:38:52 -0400 Subject: [PATCH 1/4] Add PDP_ENDIAN macro for compat --- clang/lib/Headers/endian.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/clang/lib/Headers/endian.h b/clang/lib/Headers/endian.h index b2ad3c16710d7..79a174aaf5854 100644 --- a/clang/lib/Headers/endian.h +++ b/clang/lib/Headers/endian.h @@ -25,6 +25,7 @@ #define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ #define BIG_ENDIAN __ORDER_BIG_ENDIAN__ +#define PDP_ENDIAN __ORDER_PDP_ENDIAN__ #define BYTE_ORDER __BYTE_ORDER__ #if BYTE_ORDER == LITTLE_ENDIAN @@ -48,7 +49,7 @@ #define le32toh(x) __CLANG_ENDIAN_CAST(static_cast, uint32_t, x) #define le64toh(x) __CLANG_ENDIAN_CAST(static_cast, uint64_t, x) -#else +#elif BYTE_ORDER == BIG_ENDIAN #define htobe16(x) __CLANG_ENDIAN_CAST(static_cast, uint16_t, x) #define htobe32(x) __CLANG_ENDIAN_CAST(static_cast, uint32_t, x) @@ -69,6 +70,8 @@ #define le64toh(x) \ __builtin_bswap64(__CLANG_ENDIAN_CAST(static_cast, uint64_t, x)) +#else +#error "Unsupported endianness" #endif #endif // __has_include_next #endif // __CLANG_ENDIAN_H >From 43265f0acccdad416229c89a6b8309278804836b Mon Sep 17 00:00:00 2001 From: David Tenty <[email protected]> Date: Thu, 19 Mar 2026 14:41:29 -0400 Subject: [PATCH 2/4] Add some compat macros --- clang/lib/Headers/endian.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/clang/lib/Headers/endian.h b/clang/lib/Headers/endian.h index 79a174aaf5854..288c1a76dcec7 100644 --- a/clang/lib/Headers/endian.h +++ b/clang/lib/Headers/endian.h @@ -28,6 +28,21 @@ #define PDP_ENDIAN __ORDER_PDP_ENDIAN__ #define BYTE_ORDER __BYTE_ORDER__ + +// Define some compatibility macros if they are not defined. +#ifndef __BYTE_ORDER +#define __BYTE_ORDER BYTE_ORDER +#endif +#ifndef __LITTLE_ENDIAN +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#endif +#ifndef __BIG_ENDIAN +#define __BIG_ENDIAN BIG_ENDIAN +#endif +#ifndef __PDP_ENDIAN +#define __PDP_ENDIAN PDP_ENDIAN +#endif + #if BYTE_ORDER == LITTLE_ENDIAN #define htobe16(x) \ >From ec8b591e71b4a3dc5d57a9805f501f594496be93 Mon Sep 17 00:00:00 2001 From: David Tenty <[email protected]> Date: Thu, 19 Mar 2026 17:21:03 -0400 Subject: [PATCH 3/4] Add test --- clang/test/Headers/endian.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clang/test/Headers/endian.c b/clang/test/Headers/endian.c index 0702d8616ca38..5ba341f2096be 100644 --- a/clang/test/Headers/endian.c +++ b/clang/test/Headers/endian.c @@ -6,6 +6,9 @@ #include <endian.h> +_Static_assert(__LITTLE_ENDIAN == __ORDER_LITTLE_ENDIAN__, ""); +_Static_assert(__BIG_ENDIAN == __ORDER_BIG_ENDIAN__, ""); +_Static_assert(__PDP_ENDIAN == __ORDER_PDP_ENDIAN__, ""); #if BYTE_ORDER == BIG_ENDIAN >From 0722be7182340f0f0851d6e9a6246dcbf0e47b0f Mon Sep 17 00:00:00 2001 From: David Tenty <[email protected]> Date: Thu, 19 Mar 2026 17:21:11 -0400 Subject: [PATCH 4/4] Clang format --- clang/lib/Headers/endian.h | 1 - 1 file changed, 1 deletion(-) diff --git a/clang/lib/Headers/endian.h b/clang/lib/Headers/endian.h index 288c1a76dcec7..aa30d8fc5c49b 100644 --- a/clang/lib/Headers/endian.h +++ b/clang/lib/Headers/endian.h @@ -28,7 +28,6 @@ #define PDP_ENDIAN __ORDER_PDP_ENDIAN__ #define BYTE_ORDER __BYTE_ORDER__ - // Define some compatibility macros if they are not defined. #ifndef __BYTE_ORDER #define __BYTE_ORDER BYTE_ORDER _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
