endiantest.h 379 B

1234567891011121314
  1. #ifndef AL_ENDIANTEST_H
  2. #define AL_ENDIANTEST_H
  3. #if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__)
  4. #define IS_LITTLE_ENDIAN (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
  5. #else
  6. static const union {
  7. unsigned int u;
  8. unsigned char b[sizeof(unsigned int)];
  9. } EndianTest = { 1 };
  10. #define IS_LITTLE_ENDIAN (EndianTest.b[0] == 1)
  11. #endif
  12. #endif /* AL_ENDIANTEST_H */