Browse Source

Fallback to compiler defines when __BYTE_ORDER is not available

Jakub Kulík 2 năm trước cách đây
mục cha
commit
6448b656c7
1 tập tin đã thay đổi với 9 bổ sung0 xóa
  1. 9 0
      src/borg/algorithms/msgpack/sysdep.h

+ 9 - 0
src/borg/algorithms/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