41#if defined(ZYAN_NO_LIBC) || \
42 (defined(ZYAN_MSVC) && defined(ZYAN_KERNEL))
44# if defined(ZYAN_MSVC) || defined(ZYAN_ICC)
45 typedef unsigned __int8 ZyanU8;
46 typedef unsigned __int16 ZyanU16;
47 typedef unsigned __int32 ZyanU32;
48 typedef unsigned __int64 ZyanU64;
49 typedef signed __int8 ZyanI8;
50 typedef signed __int16 ZyanI16;
51 typedef signed __int32 ZyanI32;
52 typedef signed __int64 ZyanI64;
54 typedef ZyanU64 ZyanUSize;
55 typedef ZyanI64 ZyanISize;
56 typedef ZyanU64 ZyanUPointer;
57 typedef ZyanI64 ZyanIPointer;
59 typedef ZyanU32 ZyanUSize;
60 typedef ZyanI32 ZyanISize;
61 typedef ZyanU32 ZyanUPointer;
62 typedef ZyanI32 ZyanIPointer;
64# elif defined(ZYAN_GNUC)
65 typedef __UINT8_TYPE__ ZyanU8;
66 typedef __UINT16_TYPE__ ZyanU16;
67 typedef __UINT32_TYPE__ ZyanU32;
68 typedef __UINT64_TYPE__ ZyanU64;
69 typedef __INT8_TYPE__ ZyanI8;
70 typedef __INT16_TYPE__ ZyanI16;
71 typedef __INT32_TYPE__ ZyanI32;
72 typedef __INT64_TYPE__ ZyanI64;
73 typedef __SIZE_TYPE__ ZyanUSize;
74 typedef __PTRDIFF_TYPE__ ZyanISize;
75 typedef __UINTPTR_TYPE__ ZyanUPointer;
76 typedef __INTPTR_TYPE__ ZyanIPointer;
78# error "Unsupported compiler for no-libc mode."
81# if defined(ZYAN_MSVC)
82# define ZYAN_INT8_MIN (-127i8 - 1)
83# define ZYAN_INT16_MIN (-32767i16 - 1)
84# define ZYAN_INT32_MIN (-2147483647i32 - 1)
85# define ZYAN_INT64_MIN (-9223372036854775807i64 - 1)
86# define ZYAN_INT8_MAX 127i8
87# define ZYAN_INT16_MAX 32767i16
88# define ZYAN_INT32_MAX 2147483647i32
89# define ZYAN_INT64_MAX 9223372036854775807i64
90# define ZYAN_UINT8_MAX 0xffui8
91# define ZYAN_UINT16_MAX 0xffffui16
92# define ZYAN_UINT32_MAX 0xffffffffui32
93# define ZYAN_UINT64_MAX 0xffffffffffffffffui64
95# define ZYAN_INT8_MAX __INT8_MAX__
96# define ZYAN_INT8_MIN (-ZYAN_INT8_MAX - 1)
97# define ZYAN_INT16_MAX __INT16_MAX__
98# define ZYAN_INT16_MIN (-ZYAN_INT16_MAX - 1)
99# define ZYAN_INT32_MAX __INT32_MAX__
100# define ZYAN_INT32_MIN (-ZYAN_INT32_MAX - 1)
101# define ZYAN_INT64_MAX __INT64_MAX__
102# define ZYAN_INT64_MIN (-ZYAN_INT64_MAX - 1)
103# define ZYAN_UINT8_MAX __UINT8_MAX__
104# define ZYAN_UINT16_MAX __UINT16_MAX__
105# define ZYAN_UINT32_MAX __UINT32_MAX__
106# define ZYAN_UINT64_MAX __UINT64_MAX__
112 typedef uint8_t ZyanU8;
113 typedef uint16_t ZyanU16;
114 typedef uint32_t ZyanU32;
115 typedef uint64_t ZyanU64;
116 typedef int8_t ZyanI8;
117 typedef int16_t ZyanI16;
118 typedef int32_t ZyanI32;
119 typedef int64_t ZyanI64;
120 typedef size_t ZyanUSize;
121 typedef ptrdiff_t ZyanISize;
122 typedef uintptr_t ZyanUPointer;
123 typedef intptr_t ZyanIPointer;
125# define ZYAN_INT8_MIN INT8_MIN
126# define ZYAN_INT16_MIN INT16_MIN
127# define ZYAN_INT32_MIN INT32_MIN
128# define ZYAN_INT64_MIN INT64_MIN
129# define ZYAN_INT8_MAX INT8_MAX
130# define ZYAN_INT16_MAX INT16_MAX
131# define ZYAN_INT32_MAX INT32_MAX
132# define ZYAN_INT64_MAX INT64_MAX
133# define ZYAN_UINT8_MAX UINT8_MAX
134# define ZYAN_UINT16_MAX UINT16_MAX
135# define ZYAN_UINT32_MAX UINT32_MAX
136# define ZYAN_UINT64_MAX UINT64_MAX
173#define ZYAN_NULL ((void*)0)
206#define ZYAN_TERNARY_FALSE (-1)
207#define ZYAN_TERNARY_UNKNOWN 0x00
208#define ZYAN_TERNARY_TRUE 0x01
#define ZYAN_STATIC_ASSERT(x)
Definition Defines.h:287
ZyanU8 ZyanBool
Definition Types.h:192
const void * ZyanConstVoidPointer
Definition Types.h:171
const char * ZyanConstCharPointer
Definition Types.h:230
char * ZyanCharPointer
Definition Types.h:223
ZyanI8 ZyanTernary
Definition Types.h:204
void * ZyanVoidPointer
Definition Types.h:166