5 TS(IDENTIFIER, "identifier", = 256)
6 TS(INTEGER, "integer number",)
7 TS(CHARACTER_CONSTANT, "character constant",)
8 TS(WIDE_CHARACTER_CONSTANT, "wide character constant",)
9 TS(FLOATINGPOINT, "floatingpoint number",)
10 TS(STRING_LITERAL, "string literal",)
11 TS(WIDE_STRING_LITERAL, "wide string literal",)
13 #define ALTERNATE(name, val) T(_CXX, name, #name, val)
14 #define PUNCTUATOR(name, string, val) T(_ALL, name, string, val)
15 #include "tokens_punctuator.inc"
19 #define S(mode,x) T(mode,x,#x,)
72 S(_CXX, reinterpret_cast)
89 S(_ALL, __extension__)
90 S(_ALL, __builtin_classify_type)
91 S(_ALL, __builtin_va_list)
92 S(_ALL, __builtin_expect)
93 S(_ALL, __builtin_offsetof)
94 S(_ALL, __builtin_va_arg)
95 S(_ALL, __builtin_va_end)
96 S(_ALL, __builtin_alloca)
97 S(_ALL, __builtin_inf)
98 S(_ALL, __builtin_inff)
99 S(_ALL, __builtin_infl)
100 S(_ALL, __builtin_nan)
101 S(_ALL, __builtin_nanf)
102 S(_ALL, __builtin_nanl)
103 S(_ALL, __builtin_isgreater)
104 S(_ALL, __builtin_isgreaterequal)
105 S(_ALL, __builtin_isless)
106 S(_ALL, __builtin_islessequal)
107 S(_ALL, __builtin_islessgreater)
108 S(_ALL, __builtin_isunordered)
109 S(_ALL, __builtin_constant_p)
110 S(_ALL, __builtin_prefetch)
111 S(_ALL, __builtin_huge_val)
112 S(_ALL, __builtin_return_address)
113 S(_ALL, __builtin_frame_address)
114 S(_ALL, __builtin_types_compatible_p)
115 S(_ALL, __PRETTY_FUNCTION__)
116 S(_ALL, __FUNCTION__)
120 S(_MS, __FUNCDNAME__)
123 /* needed on Windows */
131 /* needed on MinGW */
147 #if defined(__MINGW32__) || defined(__CYGWIN__)
159 /* needed on darwin... */
173 #define S(mode, x, val) T(mode, x, #x, val)
174 S(_ANSI|_C99|_CXX, signed, )
175 S(_ALL, __signed, = T_signed)
176 S(_ALL, __signed__, = T_signed)
177 S(_C99|_GNUC, _Complex, )
178 S(_ALL, __complex__, = T__Complex)
179 S(_ALL, __complex, = T__Complex)
180 S(_C99|_GNUC, _Imaginary, )
182 S(_ALL, __real, = T___real__)
184 S(_ALL, __imag, = T___imag__)
185 S(_ALL, __alignof__, )
186 S(_ALL, __alignof, = T___alignof__)
187 S(_MS, _alignof, = T___alignof__)
188 S(_ANSI|_C99|_CXX, const, )
189 S(_ALL, __const, = T_const)
190 S(_ALL, __const__, = T_const)
192 S(_ALL, __restrict__, = T_restrict)
193 S(_ALL, __restrict, = T_restrict)
194 S(_MS, _restrict, = T_restrict)
196 S(_ALL, __asm__, = T_asm)
197 S(_MS, _asm, = T_asm)
198 S(_ALL, __asm, = T_asm)
199 S(_ANSI|_C99|_CXX, volatile, )
200 S(_ALL, __volatile, = T_volatile)
201 S(_ALL, __volatile__, = T_volatile)
202 S(_C99|_CXX, inline, )
203 S(_ALL, __inline, = T_inline)
204 S(_ALL, __inline__, = T_inline)
206 S(_ALL, __typeof, = T_typeof)
207 S(_ALL, __typeof__, = T_typeof)
208 S(_ALL, __attribute__, )
210 S(_ALL, __builtin_va_start, )
211 S(_ALL, __builtin_stdarg_start, = T___builtin_va_start)
214 S(_MS, __near, = T__near)
216 S(_MS, __far, = T__far)
218 S(_MS, _cdecl, = T_cdecl)
219 S(_MS, __cdecl, = T_cdecl)
221 S(_MS, __stdcall, = T__stdcall)
223 S(_MS, __fastcall, = T__fastcall)
225 S(_MS, _forceinline, )
226 S(_MS, __forceinline, = T__forceinline)
227 S(_MS, __unaligned, )
229 S(_MS, __assume, = T__assume)
231 S(_MS, __try, = T__try)
233 S(_MS, __finally, = T__finally)
235 S(_MS, __leave, = T__leave)
237 S(_MS, __except, = T__except)
239 S(_MS, __declspec, = T__declspec)
241 S(_MS, __based, = T__based)
249 S(_MS, __w64, = T__w64)
252 S(_MS, __int8, = T__int8)
254 S(_MS, __int16, = T__int16)
256 S(_MS, __int32, = T__int32)
258 S(_MS, __int64, = T__int64)
260 S(_MS, __int128, = T__int128)
263 /* Redefine required macros for MinGW headers */
264 #if defined(__MINGW32__) || defined(__CYGWIN__)
265 #define __stdcall __attribute__((__stdcall__))
266 #define __fastcall __attribute__((__fastcall__))
267 #define __cdecl __attribute__((__cdecl__))