Browse Source

common: fix usage of __has_builtin for old GCC releases

pull/2/head
Alibek Omarov 2 years ago
parent
commit
5d4f8373c4
  1. 24
      common/xash3d_types.h

24
common/xash3d_types.h

@ -87,15 +87,21 @@ typedef uint64_t longtime_t;
#define NORETURN #define NORETURN
#endif #endif
#if defined(__has_builtin) #if ( __GNUC__ >= 3 )
#if __has_builtin(__builtin_expect) #define unlikely(x) __builtin_expect(x, 0)
#define unlikely(x) __builtin_expect(x, 0) #define likely(x) __builtin_expect(x, 1)
#define likely(x) __builtin_expect(x, 1) #elif defined( __has_builtin )
#else // __has_builtin(__builtin_expect) #if __has_builtin( __builtin_expect )
#define unlikely(x) (x) #define unlikely(x) __builtin_expect(x, 0)
#define likely(x) (x) #define likely(x) __builtin_expect(x, 1)
#endif // __has_builtin(__builtin_expect) #else
#endif // defined(__has_builtin) #define unlikely(x) (x)
#define likely(x) (x)
#endif
#else
#define unlikely(x) (x)
#define likely(x) (x)
#endif
#ifdef XASH_BIG_ENDIAN #ifdef XASH_BIG_ENDIAN

Loading…
Cancel
Save