blob: 0030b6fd9356f99216bdecd320ce7da54db66b06 [file] [log] [blame] [edit]
#pragma once
#ifdef __GNUC__
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
#define __weak __attribute__((weak))
#else /* #ifdef __GNUC__ */
#define likely(x) (x)
#define unlikely(x) (x)
#define __weak
#endif /* #ifdef __GNUC__ */
#define __always_inline inline __attribute__((always_inline))
#ifdef __GNUC__
#define uninitialized_var(x) x = x
#elif defined(__clang__)
#define uninitialized_var(x) x = *(&(x))
#endif