summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Giles <giles@thaumas.net>2014-11-04 11:58:45 -0800
committerErik de Castro Lopo <erikd@mega-nerd.com>2014-11-04 21:18:48 -0800
commit7a671e7c4123d0f38a7ac626f475181b3a9e6b87 (patch)
treebaef2733286c19c20e8cb28d2c6572f3d5770873
parent1f30b3e7117bb41fbb9dc61fb345f1321f9e0330 (diff)
downloadflac-7a671e7c4123d0f38a7ac626f475181b3a9e6b87.tar.gz
Use a configure check for bswap16 instead of gcc version #ifdefs.
Fixes a build problem on apple clang. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
-rw-r--r--configure.ac1
-rw-r--r--include/share/endswap.h2
2 files changed, 2 insertions, 1 deletions
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);