diff options
author | marha <marha@users.sourceforge.net> | 2014-10-01 20:47:44 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-10-01 20:47:44 +0200 |
commit | 30eb28e89e513ba7c04e8424be0cba326a01882b (patch) | |
tree | c84d1ffa742ebc6f077abb20a6b80c56ddaea888 /mesalib/src/util/macros.h | |
parent | 438af0c7d4bf60b408b259c88205ff2193195466 (diff) | |
download | vcxsrv-30eb28e89e513ba7c04e8424be0cba326a01882b.tar.gz vcxsrv-30eb28e89e513ba7c04e8424be0cba326a01882b.tar.bz2 vcxsrv-30eb28e89e513ba7c04e8424be0cba326a01882b.zip |
libxtrans pixman fontconfig mesa xserver xkeyboard-config git update 1 Oct 2014
plink 10277
xserver commit d3d845ca9e92f0a2ccde93f4242d7769cfe14164
xkeyboard-config commit 73aa90ce32967747c84a1b5fe32cee329bc3bbcf
pixman commit f078727f392bc9f235df916e75634ed87177b9b4
libxtrans commit 7cbad9fe2e61cd9d5caeaf361826a6f4bd320f03
fontconfig commit 1082161ea303cf2bbc13b62a191662984131e820
mesa commit 4f7916ab4f8093fa33519dfa3d08e73b4d35ebe3
Diffstat (limited to 'mesalib/src/util/macros.h')
-rw-r--r-- | mesalib/src/util/macros.h | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/mesalib/src/util/macros.h b/mesalib/src/util/macros.h index ee05e05a4..40ebf02da 100644 --- a/mesalib/src/util/macros.h +++ b/mesalib/src/util/macros.h @@ -33,12 +33,12 @@ /** * __builtin_expect macros */ -#if !defined(__GNUC__) +#if !defined(HAVE___BUILTIN_EXPECT) # define __builtin_expect(x, y) (x) #endif #ifndef likely -# ifdef __GNUC__ +# ifdef HAVE___BUILTIN_EXPECT # define likely(x) __builtin_expect(!!(x), 1) # define unlikely(x) __builtin_expect(!!(x), 0) # else @@ -63,44 +63,45 @@ * Unreachable macro. Useful for suppressing "control reaches end of non-void * function" warnings. */ -#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 5 +#ifdef HAVE___BUILTIN_UNREACHABLE #define unreachable(str) \ do { \ assert(!str); \ __builtin_unreachable(); \ } while (0) -#elif (defined(__clang__) && defined(__has_builtin)) -# if __has_builtin(__builtin_unreachable) -# define unreachable(str) \ -do { \ - assert(!str); \ - __builtin_unreachable(); \ -} while (0) -# endif #endif #ifndef unreachable #define unreachable(str) #endif +#ifdef HAVE_FUNC_ATTRIBUTE_FLATTEN +#define FLATTEN __attribute__((__flatten__)) +#else +#define FLATTEN +#endif -#if (__GNUC__ >= 3) +#ifdef HAVE_FUNC_ATTRIBUTE_FORMAT #define PRINTFLIKE(f, a) __attribute__ ((format(__printf__, f, a))) #else #define PRINTFLIKE(f, a) #endif +#ifdef HAVE_FUNC_ATTRIBUTE_MALLOC +#define MALLOCLIKE __attribute__((__malloc__)) +#else +#define MALLOCLIKE +#endif /* Used to optionally mark structures with misaligned elements or size as * packed, to trade off performance for space. */ -#if (__GNUC__ >= 3) +#ifdef HAVE_FUNC_ATTRIBUTE_PACKED #define PACKED __attribute__((__packed__)) #else #define PACKED #endif - #ifdef __cplusplus /** * Macro function that evaluates to true if T is a trivially |