diff options
Diffstat (limited to 'common/endiantest.h')
-rw-r--r-- | common/endiantest.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/common/endiantest.h b/common/endiantest.h new file mode 100644 index 00000000..0a20eb91 --- /dev/null +++ b/common/endiantest.h @@ -0,0 +1,14 @@ +#ifndef AL_ENDIANTEST_H +#define AL_ENDIANTEST_H + +#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) +#define IS_LITTLE_ENDIAN (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) +#else +static const union { + unsigned int u; + unsigned char b[sizeof(unsigned int)]; +} EndianTest = { 1 }; +#define IS_LITTLE_ENDIAN (EndianTest.b[0] == 1) +#endif + +#endif /* AL_ENDIANTEST_H */ |