From c4bdd6fd7d3b6a0dea70f0ac31d73b6a25ecea7d Mon Sep 17 00:00:00 2001 From: Erik de Castro Lopo Date: Wed, 15 Feb 2017 18:22:23 +1100 Subject: [PATCH] cpu.h: Fix compiler detection GCC version 4.6 was throwing an error on `__has_attribute` which seems to be Clang specific. Solution was to un-nest the CPP code so that Clang is confirmed before the `__has_attribute` is hit. --- src/libFLAC/include/private/cpu.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libFLAC/include/private/cpu.h b/src/libFLAC/include/private/cpu.h index 623efc55..c2372d94 100644 --- a/src/libFLAC/include/private/cpu.h +++ b/src/libFLAC/include/private/cpu.h @@ -88,7 +88,7 @@ #define FLAC__AVX2_SUPPORTED 1 #define FLAC__FMA_SUPPORTED 1 #endif -#elif defined __GNUC__ || defined __clang__ +#elif defined __GNUC__ && defined __clang__ #if defined __clang__ && __has_attribute(__target__) /* clang */ #define FLAC__SSE_TARGET(x) __attribute__ ((__target__ (x))) #if __has_builtin(__builtin_ia32_maxps) @@ -106,7 +106,7 @@ #if __has_builtin(__builtin_ia32_pabsd256) #define FLAC__AVX2_SUPPORTED 1 #endif - #elif !defined __clang__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)) /* GCC 4.9+ */ +#elif defined (__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)) /* GCC 4.9+ */ #define FLAC__SSE_TARGET(x) __attribute__ ((__target__ (x))) #define FLAC__SSE_SUPPORTED 1 #define FLAC__SSE2_SUPPORTED 1 -- GitLab