diff --git a/configure.ac b/configure.ac index dae619e7..3ed4e7fe 100644 --- a/configure.ac +++ b/configure.ac @@ -67,6 +67,7 @@ AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/param.h termios.h x86intrin AC_HEADER_TIOCGWINSZ XIPH_C_BSWAP32 +XIPH_C_BSWAP16 ac_cv_c_big_endian=0 ac_cv_c_little_endian=0 diff --git a/include/share/endswap.h b/include/share/endswap.h index 86bf8572..dece49ca 100644 --- a/include/share/endswap.h +++ b/include/share/endswap.h @@ -34,7 +34,7 @@ #if HAVE_BSWAP32 /* GCC and Clang */ /* GCC prior to 4.8 didn't provide bswap16 on x86_64 */ -#if __GNUC__ <= 4 && __GNUC_MINOR__ < 8 +#ifndef HAVE_BSWAP16 static inline unsigned short __builtin_bswap16(unsigned short a) { return (a<<8)|(a>>8);