Mesa (master): mesa: Avoid redefining PUBLIC/USE/likely/unlikely macros.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Fri Mar 25 16:23:07 UTC 2011
Module: Mesa
Branch: master
Commit: a81828cb962e747644dd5b479179cd4f55932c1e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a81828cb962e747644dd5b479179cd4f55932c1e
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Mar 25 15:59:03 2011 +0000
mesa: Avoid redefining PUBLIC/USE/likely/unlikely macros.
---
src/mesa/main/compiler.h | 30 +++++++++++++++++-------------
1 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/mesa/main/compiler.h b/src/mesa/main/compiler.h
index 5557a3b..e17fd0f 100644
--- a/src/mesa/main/compiler.h
+++ b/src/mesa/main/compiler.h
@@ -171,12 +171,14 @@ extern "C" {
* We also need to define a USED attribute, so the optimizer doesn't
* inline a static function that we later use in an alias. - ajax
*/
-#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
-# define PUBLIC __attribute__((visibility("default")))
-# define USED __attribute__((used))
-#else
-# define PUBLIC
-# define USED
+#ifndef PUBLIC
+# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
+# define PUBLIC __attribute__((visibility("default")))
+# define USED __attribute__((used))
+# else
+# define PUBLIC
+# define USED
+# endif
#endif
@@ -195,15 +197,17 @@ extern "C" {
* __builtin_expect macros
*/
#if !defined(__GNUC__)
-# define __builtin_expect(x, y) x
+# define __builtin_expect(x, y) (x)
#endif
-#ifdef __GNUC__
-#define likely(x) __builtin_expect(!!(x), 1)
-#define unlikely(x) __builtin_expect(!!(x), 0)
-#else
-#define likely(x) !!(x)
-#define unlikely(x) !!(x)
+#ifndef likely
+# ifdef __GNUC__
+# define likely(x) __builtin_expect(!!(x), 1)
+# define unlikely(x) __builtin_expect(!!(x), 0)
+# else
+# define likely(x) (x)
+# define unlikely(x) (x)
+# endif
#endif
/**
More information about the mesa-commit
mailing list