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