Mesa (master): mesa: Fix build with gcc 3.3.
Jesse Barnes
jbarnes at kemper.freedesktop.org
Mon Apr 19 16:56:56 UTC 2010
Module: Mesa
Branch: master
Commit: cf7d08b4434325220488d4c9e871e230bafd7b7c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf7d08b4434325220488d4c9e871e230bafd7b7c
Author: Matthieu Herrb <matthieu.herrb at laas.fr>
Date: Mon Apr 19 09:32:37 2010 -0600
mesa: Fix build with gcc 3.3.
Signed-off-by: Brian Paul <brianp at vmware.com>
---
src/mesa/main/imports.c | 3 ++-
src/mesa/main/imports.h | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index 1ae0853..b1389b2 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -564,7 +564,8 @@ _mesa_ffsll(int64_t val)
unsigned int
_mesa_bitcount(unsigned int n)
{
-#if defined(__GNUC__)
+#if defined(__GNUC__) && \
+ ((_GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4)
return __builtin_popcount(n);
#else
unsigned int bits;
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index d28f4ad..1c263aa 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -404,7 +404,8 @@ _mesa_is_pow_two(int x)
static INLINE int32_t
_mesa_next_pow_two_32(uint32_t x)
{
-#ifdef __GNUC__
+#if defined(__GNUC__) && \
+ ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4)
uint32_t y = (x != 1);
return (1 + y) << ((__builtin_clz(x - y) ^ 31) );
#else
@@ -422,7 +423,8 @@ _mesa_next_pow_two_32(uint32_t x)
static INLINE int64_t
_mesa_next_pow_two_64(uint64_t x)
{
-#ifdef __GNUC__
+#if defined(__GNUC__) && \
+ ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ >= 4)
uint64_t y = (x != 1);
if (sizeof(x) == sizeof(long))
return (1 + y) << ((__builtin_clzl(x - y) ^ 63));
More information about the mesa-commit
mailing list