Go to the documentation of this file. 6 #define __has_builtin(x) 0 10 #define __has_feature(x) 0 13 #ifndef __has_extension 14 #define __has_extension __has_feature 17 #ifndef __has_attribute 18 #define __has_attribute(x) 0 28 #if __has_attribute(always_inline) 29 #define YM_INLINE __attribute__((always_inline)) inline 41 #if __has_attribute(noinline) 42 #define YM_NO_INLINE __attribute__((noinline)) 54 #if __has_attribute(pure) 55 #define YM_PURE __attribute__((pure)) 67 #define YM_RESTRICT restrict 77 #if __has_attribute(unused) 78 #define YM_UNUSED __attribute__((unused)) 91 #if __has_attribute(warn_unused_result) 92 #define YM_NO_DISCARD __attribute__((warn_unused_result)) 106 #if __has_builtin(__builtin_expect) && !defined(WIN32) 107 #define YM_LIKELY(x) __builtin_expect(!!(x), 1) 109 #define YM_LIKELY(x) (x) 121 #if __has_builtin(__builtin_expect) && !defined(WIN32) 122 #define YM_UNLIKELY(x) __builtin_expect(!!(x), 0) 124 #define YM_UNLIKELY(x) (x)