Fix compiler detection

extensions
Volodymyr Shymanskyy 4 years ago
parent 804ae0fa5a
commit 5aba4e43bd

@ -230,16 +230,16 @@
// Byte swapping (for Big-Endian systems only)
# if defined(_MSC_VER)
# if defined(M3_COMPILER_MSVC)
# define m3_bswap16(x) _byteswap_ushort((x))
# define m3_bswap32(x) _byteswap_ulong((x))
# define m3_bswap64(x) _byteswap_uint64((x))
# elif defined(__GNUC__) && __GNUC_PREREQ(4, 8)
# elif defined(M3_COMPILER_GCC) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))
// __builtin_bswap32/64 added in gcc 4.3, __builtin_bswap16 added in gcc 4.8
# define m3_bswap16(x) __builtin_bswap16((x))
# define m3_bswap32(x) __builtin_bswap32((x))
# define m3_bswap64(x) __builtin_bswap64((x))
# elif M3_COMPILER_HAS_BUILTIN(__builtin_bswap16)
# elif defined(M3_COMPILER_CLANG) && M3_COMPILER_HAS_BUILTIN(__builtin_bswap16)
# define m3_bswap16(x) __builtin_bswap16((x))
# define m3_bswap32(x) __builtin_bswap32((x))
# define m3_bswap64(x) __builtin_bswap64((x))

Loading…
Cancel
Save