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

Reply via email to