1 #ifndef ZIG_DEP_SOFTFLOAT_PLATFORM_H 2 #define ZIG_DEP_SOFTFLOAT_PLATFORM_H 3 4 #if defined(__BIG_ENDIAN__) 5 #define BIGENDIAN 1 6 #elif defined(__ARMEB__) 7 #define BIGENDIAN 1 8 #elif defined(__THUMBEB__) 9 #define BIGENDIAN 1 10 #elif defined(__AARCH64EB__) 11 #define BIGENDIAN 1 12 #elif defined(_MIPSEB) 13 #define BIGENDIAN 1 14 #elif defined(__MIPSEB) 15 #define BIGENDIAN 1 16 #elif defined(__MIPSEB__) 17 #define BIGENDIAN 1 18 #elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ 19 #define BIGENDIAN 1 20 #elif defined(_BIG_ENDIAN) 21 #define BIGENDIAN 1 22 #elif defined(__sparc) 23 #define BIGENDIAN 1 24 #elif defined(__sparc__) 25 #define BIGENDIAN 1 26 #elif defined(_POWER) 27 #define BIGENDIAN 1 28 #elif defined(__powerpc__) 29 #define BIGENDIAN 1 30 #elif defined(__ppc__) 31 #define BIGENDIAN 1 32 #elif defined(__hpux) 33 #define BIGENDIAN 1 34 #elif defined(__hppa) 35 #define BIGENDIAN 1 36 #elif defined(_POWER) 37 #define BIGENDIAN 1 38 #elif defined(__s390__) 39 #define BIGENDIAN 1 40 #elif defined(__LITTLE_ENDIAN__) 41 #define LITTLEENDIAN 1 42 #elif defined(__ARMEL__) 43 #define LITTLEENDIAN 1 44 #elif defined(__THUMBEL__) 45 #define LITTLEENDIAN 1 46 #elif defined(__AARCH64EL__) 47 #define LITTLEENDIAN 1 48 #elif defined(_MIPSEL) 49 #define LITTLEENDIAN 1 50 #elif defined(__MIPSEL) 51 #define LITTLEENDIAN 1 52 #elif defined(__MIPSEL__) 53 #define LITTLEENDIAN 1 54 #elif defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ 55 #define LITTLEENDIAN 1 56 #elif defined(_LITTLE_ENDIAN) 57 #define LITTLEENDIAN 1 58 #elif defined(__i386__) 59 #define LITTLEENDIAN 1 60 #elif defined(__alpha__) 61 #define LITTLEENDIAN 1 62 #elif defined(__ia64) 63 #define LITTLEENDIAN 1 64 #elif defined(__ia64__) 65 #define LITTLEENDIAN 1 66 #elif defined(_M_IX86) 67 #define LITTLEENDIAN 1 68 #elif defined(_M_IA64) 69 #define LITTLEENDIAN 1 70 #elif defined(_M_ALPHA) 71 #define LITTLEENDIAN 1 72 #elif defined(__amd64) 73 #define LITTLEENDIAN 1 74 #elif defined(__amd64__) 75 #define LITTLEENDIAN 1 76 #elif defined(_M_AMD64) 77 #define LITTLEENDIAN 1 78 #elif defined(__x86_64) 79 #define LITTLEENDIAN 1 80 #elif defined(__x86_64__) 81 #define LITTLEENDIAN 1 82 #elif defined(_M_X64) 83 #define LITTLEENDIAN 1 84 #elif defined(__bfin__) 85 #define LITTLEENDIAN 1 86 #else 87 #error unable to detect endianness 88 #endif 89 90 #define INLINE inline 91 #if _MSC_VER 92 #define THREAD_LOCAL __declspec(thread) 93 #else 94 #define THREAD_LOCAL __thread 95 #endif 96 97 #endif 98