75 lines
1.6 KiB
C
75 lines
1.6 KiB
C
#pragma once
|
|
|
|
typedef __builtin_va_list va_list;
|
|
|
|
#define va_start(ap, last) __builtin_va_start(ap, last)
|
|
#define va_arg(ap, type) __builtin_va_arg(ap, type)
|
|
#define va_end(ap) __builtin_va_end(ap)
|
|
#define va_copy(dest, src) __builtin_va_copy(dest, src)
|
|
|
|
#define bool _Bool
|
|
#define true 1
|
|
#define false 0
|
|
|
|
#define __bool_true_false_are_defined 1
|
|
|
|
#ifndef NULL
|
|
#define NULL ((void*)0)
|
|
#endif
|
|
|
|
typedef unsigned long size_t;
|
|
typedef long ptrdiff_t;
|
|
typedef long intptr_t;
|
|
typedef unsigned long uintptr_t;
|
|
|
|
#define offsetof(type, member) __builtin_offsetof(type, member)
|
|
|
|
typedef signed char int8_t;
|
|
typedef unsigned char uint8_t;
|
|
typedef signed short int16_t;
|
|
typedef unsigned short uint16_t;
|
|
typedef signed int int32_t;
|
|
typedef unsigned int uint32_t;
|
|
typedef signed long long int64_t;
|
|
typedef unsigned long long uint64_t;
|
|
|
|
typedef uint8_t u8;
|
|
typedef int8_t i8;
|
|
typedef uint16_t u16;
|
|
typedef int16_t i16;
|
|
typedef uint32_t u32;
|
|
typedef int32_t i32;
|
|
typedef uint64_t u64;
|
|
typedef int64_t i64;
|
|
|
|
#define INT8_MIN (-128)
|
|
#define INT8_MAX 127
|
|
#define UINT8_MAX 0xff
|
|
|
|
#define INT16_MIN (-32768)
|
|
#define INT16_MAX 32767
|
|
#define UINT16_MAX 0xffff
|
|
|
|
#define INT32_MIN (-2147483647 - 1)
|
|
#define INT32_MAX 2147483647
|
|
#define UINT32_MAX 0xffffffffU
|
|
|
|
#define INT64_MIN (-9223372036854775807LL - 1)
|
|
#define INT64_MAX 9223372036854775807LL
|
|
#define UINT64_MAX 0xffffffffffffffffULL
|
|
|
|
#define INT8_C(x) x
|
|
#define UINT8_C(x) x##U
|
|
|
|
#define INT16_C(x) x
|
|
#define UINT16_C(x) x##U
|
|
|
|
#define INT32_C(x) x
|
|
#define UINT32_C(x) x##U
|
|
|
|
#define INT64_C(x) x##LL
|
|
#define UINT64_C(x) x##ULL
|
|
|
|
#define INTMAX_C(x) x##LL
|
|
#define UINTMAX_C(x) x##ULL
|