ref: ad50f75a7c9276fa04a0e91c54be24d2cec74b28
dir: /src/cc_gnuc.h/
typedef uint8_t u8int; typedef uint16_t u16int; typedef uint32_t u32int; typedef uint64_t u64int; typedef uintptr_t uintptr; typedef int8_t s8int; typedef int16_t s16int; typedef int32_t s32int; typedef int64_t s64int; typedef intptr_t intptr; typedef ssize_t ssize; typedef size_t usize; typedef off_t soffset; #define sl_unlikely(x) __builtin_expect(!!(x), 0) #define sl_likely(x) __builtin_expect(!!(x), 1) #define sl_printfmt(x, y) __attribute__((format(printf, x, y))) #if defined(NDEBUG) && !defined(__macos__) && !defined(__dos__) #define sl_thread(x) __thread x #else #define sl_thread(x) x #endif #define sl_prefetch(x) __builtin_prefetch(x) #define sl_constfn __attribute__((const)) #define sl_purefn __attribute__((pure)) #define sl_hotfn __attribute__((hot)) #define sl_aligned(x) __attribute__((aligned(x))) #define sl_popcount(x) __builtin_popcount(x) #define sl_clz(x) __builtin_clz(x) #define sadd_overflow __builtin_add_overflow #define sadd_overflow_64 __builtin_add_overflow #define smul_overflow_64 __builtin_mul_overflow