Parcourir la source

mesa: Avoid redefining PUBLIC/USE/likely/unlikely macros.

tags/useful
José Fonseca il y a 14 ans
Parent
révision
a81828cb96
1 fichiers modifiés avec 17 ajouts et 13 suppressions
  1. 17
    13
      src/mesa/main/compiler.h

+ 17
- 13
src/mesa/main/compiler.h Voir le fichier

@@ -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

/**

Chargement…
Annuler
Enregistrer