34 lines
738 B
C
34 lines
738 B
C
|
|
#ifndef __HIDDEN
|
|
|
|
#if __GNUC__ >= 4
|
|
|
|
#define __HIDDEN __attribute__((__visibility__("hidden")))
|
|
#define __EXPORT __attribute__((__visibility__("default")))
|
|
#define __INLINE inline __attribute__((__always_inline__))
|
|
#define HAS_TLS 1
|
|
|
|
#if __PIC__ || __pic__
|
|
#define __TLS_MODEL __attribute__((tls_model("initial-exec")))
|
|
#else
|
|
#define __TLS_MODEL __attribute__((tls_model("local-exec")))
|
|
#endif
|
|
|
|
#else // __GNUC__
|
|
#define __HIDDEN /* */
|
|
#define __EXPORT /* */
|
|
#define __INLINE inline
|
|
#endif // __GNUC__
|
|
|
|
#ifndef likely
|
|
#if __GCC_MAJOR >= 3
|
|
#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
|
|
|
|
#endif // __HIDDEN
|