From: Alan Coopersmith Date: Fri, 21 Oct 2011 00:14:05 +0000 (-0700) Subject: Fix gcc version checks for _mesa_bitcount X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8c509e1181fc8be85587f290b0a9337724fb7a7b;p=mesa.git Fix gcc version checks for _mesa_bitcount - Fix _GNUC__ typo in both checks - Fix logic error in check for gcc < 3.4 that breaks for gcc 2.x & older Without this fix, builds with gcc 3.4.x end up depending on undefined _mesa_bitcount instead of gcc's __builtin_popcount. NOTE: This is a candidate for the stable branches. Signed-off-by: Alan Coopersmith Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index 345a1c53e2f..2469e426595 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -514,7 +514,7 @@ _mesa_ffsll(int64_t val) #endif #if !defined(__GNUC__) ||\ - ((_GNUC__ == 3 && __GNUC_MINOR__ < 4) && __GNUC__ < 4) + ((__GNUC__ * 100 + __GNUC_MINOR__) < 304) /* Not gcc 3.4 or later */ /** * Return number of bits set in given GLuint. */ diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index 20fa148fe59..9cb6c6cc352 100644 --- a/src/mesa/main/imports.h +++ b/src/mesa/main/imports.h @@ -576,7 +576,7 @@ _mesa_init_sqrt_table(void); #define _mesa_ffs(i) ffs(i) #define _mesa_ffsll(i) ffsll(i) -#if ((_GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4) +#if ((__GNUC__ * 100 + __GNUC_MINOR__) >= 304) /* gcc 3.4 or later */ #define _mesa_bitcount(i) __builtin_popcount(i) #define _mesa_bitcount_64(i) __builtin_popcountll(i) #else