From 042fa9b7f6f54ffa69d13994b55e3fd8053bbc53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Mon, 1 Aug 2022 13:07:32 +0200 Subject: [PATCH 1/3] Fallback to compiler defines when __BYTE_ORDER is not available --- msgpack/sysdep.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/msgpack/sysdep.h b/msgpack/sysdep.h index ed9c1bc0..803d7072 100644 --- a/msgpack/sysdep.h +++ b/msgpack/sysdep.h @@ -66,6 +66,15 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) +/* + * __BYTE_ORDER, __LITTLE_ENDIAN and __BIG_ENDIAN are nonstandard and not + * always available. In those cases, fallback to common compiler defines. + */ +#if !defined(__BYTE_ORDER) +#define __BYTE_ORDER __BYTE_ORDER__ +#define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ +#define __BIG_ENDIAN __ORDER_BIG_ENDIAN__ +#endif #if __BYTE_ORDER == __LITTLE_ENDIAN #define __LITTLE_ENDIAN__ #elif __BYTE_ORDER == __BIG_ENDIAN From eac9bb765e9a3e5359d13aff974bf1a59b8a4619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Mon, 1 Aug 2022 14:31:12 +0200 Subject: [PATCH 2/3] simplify the endianity handling --- msgpack/sysdep.h | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/msgpack/sysdep.h b/msgpack/sysdep.h index 803d7072..a90efddb 100644 --- a/msgpack/sysdep.h +++ b/msgpack/sysdep.h @@ -66,18 +66,9 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) -/* - * __BYTE_ORDER, __LITTLE_ENDIAN and __BIG_ENDIAN are nonstandard and not - * always available. In those cases, fallback to common compiler defines. - */ -#if !defined(__BYTE_ORDER) -#define __BYTE_ORDER __BYTE_ORDER__ -#define __LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ -#define __BIG_ENDIAN __ORDER_BIG_ENDIAN__ -#endif -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define __LITTLE_ENDIAN__ -#elif __BYTE_ORDER == __BIG_ENDIAN +#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ #define __BIG_ENDIAN__ #elif _WIN32 #define __LITTLE_ENDIAN__ From 9c514f0124abf03eef79e474299e2e3cf6381ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kul=C3=ADk?= Date: Mon, 1 Aug 2022 14:41:13 +0200 Subject: [PATCH 3/3] additional cleanup --- msgpack/sysdep.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/msgpack/sysdep.h b/msgpack/sysdep.h index a90efddb..ae28f0c5 100644 --- a/msgpack/sysdep.h +++ b/msgpack/sysdep.h @@ -61,8 +61,6 @@ typedef unsigned int _msgpack_atomic_counter_t; #endif #endif -#else -#include /* __BYTE_ORDER */ #endif #if !defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)