Coverage Report

Created: 2019-07-24 05:18

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/clang/include/clang/Basic/TokenKinds.def
Line
Count
Source (jump to first uncovered line)
1
158
//===--- TokenKinds.def - C Family Token Kind Database ----------*- C++ -*-===//
2
158
//
3
158
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
158
// See https://llvm.org/LICENSE.txt for license information.
5
158
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
158
//
7
158
//===----------------------------------------------------------------------===//
8
158
//
9
158
// This file defines the TokenKind database.  This includes normal tokens like
10
158
// tok::ampamp (corresponding to the && token) as well as keywords for various
11
158
// languages.  Users of this file must optionally #define the TOK, KEYWORD,
12
158
// CXX11_KEYWORD, CONCEPTS_KEYWORD, ALIAS, or PPKEYWORD macros to make use of
13
158
// this file.
14
158
//
15
158
//===----------------------------------------------------------------------===//
16
158
17
158
#ifndef TOK
18
158
#define TOK(X)
19
158
#endif
20
#ifndef PUNCTUATOR
21
#define PUNCTUATOR(X,Y) TOK(X)
22
#endif
23
#ifndef KEYWORD
24
#define KEYWORD(X,Y) TOK(kw_ ## X)
25
#endif
26
#ifndef CXX11_KEYWORD
27
785k
#define CXX11_KEYWORD(X,Y) KEYWORD(X,KEYCXX11|(Y))
28
#endif
29
#ifndef CXX2A_KEYWORD
30
549k
#define CXX2A_KEYWORD(X,Y) KEYWORD(X,KEYCXX2A|(Y))
31
#endif
32
#ifndef CONCEPTS_KEYWORD
33
157k
#define CONCEPTS_KEYWORD(X) CXX2A_KEYWORD(X,KEYCONCEPTS)
34
158
#endif
35
#ifndef COROUTINES_KEYWORD
36
236k
#define COROUTINES_KEYWORD(X) CXX2A_KEYWORD(X,KEYCOROUTINES)
37
#endif
38
#ifndef MODULES_KEYWORD
39
157k
#define MODULES_KEYWORD(X) KEYWORD(X,KEYMODULES)
40
#endif
41
#ifndef TYPE_TRAIT
42
5.02M
#define TYPE_TRAIT(N,I,K) KEYWORD(I,K)
43
#endif
44
#ifndef TYPE_TRAIT_1
45
5.37M
#define TYPE_TRAIT_1(I,E,K) TYPE_TRAIT(1,I,K)
46
#endif
47
#ifndef TYPE_TRAIT_2
48
933k
#define TYPE_TRAIT_2(I,E,K) TYPE_TRAIT(2,I,K)
49
#endif
50
#ifndef TYPE_TRAIT_N
51
311k
#define TYPE_TRAIT_N(I,E,K) TYPE_TRAIT(0,I,K)
52
158
#endif
53
#ifndef ALIAS
54
#define ALIAS(X,Y,Z)
55
#endif
56
#ifndef PPKEYWORD
57
158
#define PPKEYWORD(X)
58
158
#endif
59
#ifndef CXX_KEYWORD_OPERATOR
60
#define CXX_KEYWORD_OPERATOR(X,Y)
61
#endif
62
#ifndef OBJC_AT_KEYWORD
63
#define OBJC_AT_KEYWORD(X)
64
#endif
65
#ifndef TESTING_KEYWORD
66
821
#define TESTING_KEYWORD(X, L) KEYWORD(X, L)
67
#endif
68
#ifndef ANNOTATION
69
#define ANNOTATION(X) TOK(annot_ ## X)
70
#endif
71
72
158
//===----------------------------------------------------------------------===//
73
158
// Preprocessor keywords.
74
158
//===----------------------------------------------------------------------===//
75
158
76
158
// These have meaning after a '#' at the start of a line. These define enums in
77
158
// the tok::pp_* namespace.  Note that IdentifierInfo::getPPKeywordID must be
78
158
// manually updated if something is added here.
79
158
PPKEYWORD(not_keyword)
80
158
81
158
// C99 6.10.1 - Conditional Inclusion.
82
158
PPKEYWORD(if)
83
158
PPKEYWORD(ifdef)
84
158
PPKEYWORD(ifndef)
85
158
PPKEYWORD(elif)
86
158
PPKEYWORD(else)
87
158
PPKEYWORD(endif)
88
158
PPKEYWORD(defined)
89
158
90
158
// C99 6.10.2 - Source File Inclusion.
91
158
PPKEYWORD(include)
92
158
PPKEYWORD(__include_macros)
93
158
94
158
// C99 6.10.3 - Macro Replacement.
95
158
PPKEYWORD(define)
96
158
PPKEYWORD(undef)
97
158
98
158
// C99 6.10.4 - Line Control.
99
158
PPKEYWORD(line)
100
158
101
158
// C99 6.10.5 - Error Directive.
102
158
PPKEYWORD(error)
103
158
104
158
// C99 6.10.6 - Pragma Directive.
105
158
PPKEYWORD(pragma)
106
158
107
158
// GNU Extensions.
108
158
PPKEYWORD(import)
109
158
PPKEYWORD(include_next)
110
158
PPKEYWORD(warning)
111
158
PPKEYWORD(ident)
112
158
PPKEYWORD(sccs)
113
158
PPKEYWORD(assert)
114
158
PPKEYWORD(unassert)
115
158
116
158
// Clang extensions
117
158
PPKEYWORD(__public_macro)
118
158
PPKEYWORD(__private_macro)
119
158
120
158
//===----------------------------------------------------------------------===//
121
158
// Language keywords.
122
158
//===----------------------------------------------------------------------===//
123
158
124
158
// These define members of the tok::* namespace.
125
158
126
158
TOK(unknown)             // Not a token.
127
158
TOK(eof)                 // End of file.
128
158
TOK(eod)                 // End of preprocessing directive (end of line inside a
129
158
                         // directive).
130
158
TOK(code_completion)     // Code completion marker
131
158
132
158
// C99 6.4.9: Comments.
133
158
TOK(comment)             // Comment (only in -E -C[C] mode)
134
158
135
158
// C99 6.4.2: Identifiers.
136
158
TOK(identifier)          // abcde123
137
158
TOK(raw_identifier)      // Used only in raw lexing mode.
138
158
139
158
// C99 6.4.4.1: Integer Constants
140
158
// C99 6.4.4.2: Floating Constants
141
158
TOK(numeric_constant)    // 0x123
142
158
143
158
// C99 6.4.4: Character Constants
144
158
TOK(char_constant)       // 'a'
145
158
TOK(wide_char_constant)  // L'b'
146
158
147
158
// C++17 Character Constants
148
158
TOK(utf8_char_constant)  // u8'a'
149
158
150
158
// C++11 Character Constants
151
158
TOK(utf16_char_constant) // u'a'
152
158
TOK(utf32_char_constant) // U'a'
153
158
154
158
// C99 6.4.5: String Literals.
155
158
TOK(string_literal)      // "foo"
156
158
TOK(wide_string_literal) // L"foo"
157
158
158
158
// C11 6.4.7: Header Names
159
158
TOK(header_name)         // <foo>, or "foo" lexed as a header-name
160
158
161
158
// C++11 String Literals.
162
158
TOK(utf8_string_literal) // u8"foo"
163
158
TOK(utf16_string_literal)// u"foo"
164
158
TOK(utf32_string_literal)// U"foo"
165
158
166
158
// C99 6.4.6: Punctuators.
167
158
PUNCTUATOR(l_square,            "[")
168
187
PUNCTUATOR(r_square,            "]")
169
13.5k
PUNCTUATOR(l_paren,             "(")
170
13.5k
PUNCTUATOR10.4k
(r_paren, ")")
171
10.4k
PUNCTUATOR117
(l_brace, "{")
172
117
PUNCTUATOR95
(r_brace, "}")
173
95
PUNCTUATOR11
(period, ".")
174
11
PUNCTUATOR0
(ellipsis, "...")
175
0
PUNCTUATOR(amp,                 "&")
176
3
PUNCTUATOR(ampamp,              "&&")
177
15
PUNCTUATOR(ampequal,            "&=")
178
15
PUNCTUATOR0
(star, "*")
179
15
PUNCTUATOR(starequal,           "*=")
180
15
PUNCTUATOR1
(plus, "+")
181
1
PUNCTUATOR0
(plusplus, "++")
182
15
PUNCTUATOR(plusequal,           "+=")
183
15
PUNCTUATOR1
(minus, "-")
184
10
PUNCTUATOR(arrow,               "->")
185
10
PUNCTUATOR0
(minusminus, "--")
186
15
PUNCTUATOR(minusequal,          "-=")
187
15
PUNCTUATOR0
(tilde, "~")
188
0
PUNCTUATOR(exclaim,             "!")
189
15
PUNCTUATOR(exclaimequal,        "!=")
190
15
PUNCTUATOR0
(slash, "/")
191
15
PUNCTUATOR(slashequal,          "/=")
192
15
PUNCTUATOR0
(percent, "%")
193
15
PUNCTUATOR(percentequal,        "%=")
194
18
PUNCTUATOR(less,                "<")
195
18
PUNCTUATOR0
(lessless, "<<")
196
15
PUNCTUATOR(lessequal,           "<=")
197
15
PUNCTUATOR(lesslessequal,       "<<=")
198
15
PUNCTUATOR0
(spaceship, "<=>")
199
29
PUNCTUATOR(greater,             ">")
200
29
PUNCTUATOR0
(greatergreater, ">>")
201
15
PUNCTUATOR(greaterequal,        ">=")
202
15
PUNCTUATOR(greatergreaterequal, ">>=")
203
15
PUNCTUATOR1
(caret, "^")
204
15
PUNCTUATOR(caretequal,          "^=")
205
15
PUNCTUATOR0
(pipe, "|")
206
0
PUNCTUATOR(pipepipe,            "||")
207
15
PUNCTUATOR(pipeequal,           "|=")
208
15
PUNCTUATOR7
(question, "?")
209
89
PUNCTUATOR(colon,               ":")
210
873
PUNCTUATOR(semi,                ";")
211
873
PUNCTUATOR10
(equal, "=")
212
19
PUNCTUATOR(equalequal,          "==")
213
51
PUNCTUATOR(comma,               ",")
214
51
PUNCTUATOR0
(hash, "#")
215
0
PUNCTUATOR(hashhash,            "##")
216
0
PUNCTUATOR(hashat,              "#@")
217
0
218
0
// C++ Support
219
0
PUNCTUATOR(periodstar,          ".*")
220
0
PUNCTUATOR(arrowstar,           "->*")
221
0
PUNCTUATOR(coloncolon,          "::")
222
0
223
0
// Objective C support.
224
0
PUNCTUATOR(at,                  "@")
225
0
226
0
// CUDA support.
227
1
PUNCTUATOR(lesslessless,          "<<<")
228
1
PUNCTUATOR(greatergreatergreater, ">>>")
229
1
230
1
// CL support
231
1
PUNCTUATOR0
(caretcaret, "^^")
232
0
233
0
// C99 6.4.1: Keywords.  These turn into kw_* tokens.
234
0
// Flags allowed:
235
0
//   KEYALL   - This is a keyword in all variants of C and C++, or it
236
0
//              is a keyword in the implementation namespace that should
237
0
//              always be treated as a keyword
238
0
//   KEYC99   - This is a keyword introduced to C in C99
239
0
//   KEYC11   - This is a keyword introduced to C in C11
240
0
//   KEYCXX   - This is a C++ keyword, or a C++-specific keyword in the
241
0
//              implementation namespace
242
0
//   KEYNOCXX - This is a keyword in every non-C++ dialect.
243
0
//   KEYCXX11 - This is a C++ keyword introduced to C++ in C++11
244
0
//   KEYCXX2A - This is a C++ keyword introduced to C++ in C++2a
245
0
//   KEYCONCEPTS - This is a keyword if the C++ extensions for concepts
246
0
//                 are enabled.
247
0
//   KEYMODULES - This is a keyword if the C++ extensions for modules
248
0
//                are enabled.
249
0
//   KEYGNU   - This is a keyword if GNU extensions are enabled
250
0
//   KEYMS    - This is a keyword if Microsoft extensions are enabled
251
0
//   KEYMSCOMPAT - This is a keyword if Microsoft compatibility mode is enabled
252
0
//   KEYNOMS18 - This is a keyword that must never be enabled under
253
0
//               MSVC <= v18.
254
0
//   KEYOPENCLC   - This is a keyword in OpenCL C
255
0
//   KEYOPENCLCXX - This is a keyword in C++ for OpenCL
256
0
//   KEYNOOPENCL  - This is a keyword that is not supported in OpenCL
257
0
//   KEYALTIVEC - This is a keyword in AltiVec
258
0
//   KEYZVECTOR - This is a keyword for the System z vector extensions,
259
0
//                which are heavily based on AltiVec
260
0
//   KEYBORLAND - This is a keyword if Borland extensions are enabled
261
0
//   KEYCOROUTINES - This is a keyword if support for C++ coroutines is enabled
262
0
//   BOOLSUPPORT - This is a keyword if 'bool' is a built-in type
263
0
//   HALFSUPPORT - This is a keyword if 'half' is a built-in type
264
0
//   WCHARSUPPORT - This is a keyword if 'wchar_t' is a built-in type
265
0
//   CHAR8SUPPORT - This is a keyword if 'char8_t' is a built-in type
266
0
//
267
78.5k
KEYWORD(auto                        , KEYALL)
268
78.5k
KEYWORD(break                       , KEYALL)
269
78.5k
KEYWORD(case                        , KEYALL)
270
78.5k
KEYWORD(char                        , KEYALL)
271
78.5k
KEYWORD(const                       , KEYALL)
272
78.5k
KEYWORD(continue                    , KEYALL)
273
78.5k
KEYWORD(default                     , KEYALL)
274
78.5k
KEYWORD(do                          , KEYALL)
275
78.5k
KEYWORD(double                      , KEYALL)
276
78.5k
KEYWORD(else                        , KEYALL)
277
78.5k
KEYWORD(enum                        , KEYALL)
278
78.5k
KEYWORD(extern                      , KEYALL)
279
78.5k
KEYWORD(float                       , KEYALL)
280
78.5k
KEYWORD(for                         , KEYALL)
281
78.5k
KEYWORD(goto                        , KEYALL)
282
78.5k
KEYWORD(if                          , KEYALL)
283
78.5k
KEYWORD(inline                      , KEYC99|KEYCXX|KEYGNU)
284
78.5k
KEYWORD(int                         , KEYALL)
285
78.5k
KEYWORD(long                        , KEYALL)
286
78.5k
KEYWORD(register                    , KEYALL)
287
78.5k
KEYWORD(restrict                    , KEYC99)
288
78.5k
KEYWORD(return                      , KEYALL)
289
78.5k
KEYWORD(short                       , KEYALL)
290
78.5k
KEYWORD(signed                      , KEYALL)
291
78.5k
KEYWORD(sizeof                      , KEYALL)
292
78.5k
KEYWORD(static                      , KEYALL)
293
78.5k
KEYWORD(struct                      , KEYALL)
294
78.5k
KEYWORD(switch                      , KEYALL)
295
78.5k
KEYWORD(typedef                     , KEYALL)
296
78.5k
KEYWORD(union                       , KEYALL)
297
78.5k
KEYWORD(unsigned                    , KEYALL)
298
78.5k
KEYWORD(void                        , KEYALL)
299
78.5k
KEYWORD(volatile                    , KEYALL)
300
78.5k
KEYWORD(while                       , KEYALL)
301
78.5k
KEYWORD(_Alignas                    , KEYALL)
302
78.5k
KEYWORD(_Alignof                    , KEYALL)
303
78.5k
KEYWORD(_Atomic                     , KEYALL|KEYNOOPENCL)
304
78.5k
KEYWORD(_Bool                       , KEYNOCXX)
305
78.5k
KEYWORD(_Complex                    , KEYALL)
306
78.5k
KEYWORD(_Generic                    , KEYALL)
307
78.5k
KEYWORD(_Imaginary                  , KEYALL)
308
78.5k
KEYWORD(_Noreturn                   , KEYALL)
309
78.5k
KEYWORD(_Static_assert              , KEYALL)
310
78.5k
KEYWORD(_Thread_local               , KEYALL)
311
78.5k
KEYWORD(__func__                    , KEYALL)
312
78.5k
KEYWORD(__objc_yes                  , KEYALL)
313
78.5k
KEYWORD(__objc_no                   , KEYALL)
314
0
315
0
316
0
// C++ 2.11p1: Keywords.
317
78.5k
KEYWORD(asm                         , KEYCXX|KEYGNU)
318
78.5k
KEYWORD(bool                        , BOOLSUPPORT)
319
78.5k
KEYWORD(catch                       , KEYCXX)
320
78.5k
KEYWORD(class                       , KEYCXX)
321
78.5k
KEYWORD(const_cast                  , KEYCXX)
322
78.5k
KEYWORD(delete                      , KEYCXX)
323
78.5k
KEYWORD(dynamic_cast                , KEYCXX)
324
78.5k
KEYWORD(explicit                    , KEYCXX)
325
78.5k
KEYWORD(export                      , KEYCXX)
326
78.5k
KEYWORD(false                       , BOOLSUPPORT)
327
78.5k
KEYWORD(friend                      , KEYCXX)
328
78.5k
KEYWORD(mutable                     , KEYCXX)
329
78.5k
KEYWORD(namespace                   , KEYCXX)
330
78.5k
KEYWORD(new                         , KEYCXX)
331
78.5k
KEYWORD(operator                    , KEYCXX)
332
78.5k
KEYWORD(private                     , KEYCXX)
333
78.5k
KEYWORD(protected                   , KEYCXX)
334
78.5k
KEYWORD(public                      , KEYCXX)
335
78.5k
KEYWORD(reinterpret_cast            , KEYCXX)
336
78.5k
KEYWORD(static_cast                 , KEYCXX)
337
78.5k
KEYWORD(template                    , KEYCXX)
338
78.5k
KEYWORD(this                        , KEYCXX)
339
78.5k
KEYWORD(throw                       , KEYCXX)
340
78.5k
KEYWORD(true                        , BOOLSUPPORT)
341
78.5k
KEYWORD(try                         , KEYCXX)
342
78.5k
KEYWORD(typename                    , KEYCXX)
343
78.5k
KEYWORD(typeid                      , KEYCXX)
344
78.5k
KEYWORD(using                       , KEYCXX)
345
78.5k
KEYWORD(virtual                     , KEYCXX)
346
78.5k
KEYWORD(wchar_t                     , WCHARSUPPORT)
347
1
348
1
// C++ 2.5p2: Alternative Representations.
349
77.6k
CXX_KEYWORD_OPERATOR(and     , ampamp)
350
77.6k
CXX_KEYWORD_OPERATOR(and_eq  , ampequal)
351
77.6k
CXX_KEYWORD_OPERATOR(bitand  , amp)
352
77.6k
CXX_KEYWORD_OPERATOR(bitor   , pipe)
353
77.6k
CXX_KEYWORD_OPERATOR(compl   , tilde)
354
77.6k
CXX_KEYWORD_OPERATOR(not     , exclaim)
355
77.6k
CXX_KEYWORD_OPERATOR(not_eq  , exclaimequal)
356
77.6k
CXX_KEYWORD_OPERATOR(or      , pipepipe)
357
77.6k
CXX_KEYWORD_OPERATOR(or_eq   , pipeequal)
358
77.6k
CXX_KEYWORD_OPERATOR(xor     , caret)
359
77.6k
CXX_KEYWORD_OPERATOR(xor_eq  , caretequal)
360
1
361
1
// C++11 keywords
362
78.8k
CXX11_KEYWORD(alignas               , 0)
363
78.8k
CXX11_KEYWORD(alignof               , 0)
364
78.8k
CXX11_KEYWORD(char16_t              , KEYNOMS18)
365
78.8k
CXX11_KEYWORD(char32_t              , KEYNOMS18)
366
78.8k
CXX11_KEYWORD(constexpr             , 0)
367
78.8k
CXX11_KEYWORD(decltype              , 0)
368
78.8k
CXX11_KEYWORD(noexcept              , 0)
369
78.8k
CXX11_KEYWORD(nullptr               , 0)
370
78.8k
CXX11_KEYWORD(static_assert         , KEYMSCOMPAT)
371
78.8k
CXX11_KEYWORD(thread_local          , 0)
372
1
373
1
// C++2a / concepts TS keywords
374
78.8k
CONCEPTS_KEYWORD(concept)
375
78.8k
CONCEPTS_KEYWORD(requires)
376
0
377
0
// C++2a / coroutines TS keywords
378
78.8k
COROUTINES_KEYWORD(co_await)
379
78.8k
COROUTINES_KEYWORD(co_return)
380
78.8k
COROUTINES_KEYWORD(co_yield)
381
0
382
0
// C++ modules TS keywords
383
78.5k
MODULES_KEYWORD(module)
384
78.5k
MODULES_KEYWORD(import)
385
0
386
0
// C++20 keywords.
387
78.8k
CXX2A_KEYWORD(char8_t               , CHAR8SUPPORT)
388
78.8k
CXX2A_KEYWORD(consteval             , 0)
389
0
390
0
// C11 Extension
391
78.5k
KEYWORD(_Float16                    , KEYALL)
392
0
393
0
// ISO/IEC JTC1 SC22 WG14 N1169 Extension
394
78.5k
KEYWORD(_Accum                      , KEYNOCXX)
395
78.5k
KEYWORD(_Fract                      , KEYNOCXX)
396
78.5k
KEYWORD(_Sat                        , KEYNOCXX)
397
0
398
0
// GNU Extensions (in impl-reserved namespace)
399
78.5k
KEYWORD(_Decimal32                  , KEYALL)
400
78.5k
KEYWORD(_Decimal64                  , KEYALL)
401
78.5k
KEYWORD(_Decimal128                 , KEYALL)
402
78.5k
KEYWORD(__null                      , KEYCXX)
403
78.5k
KEYWORD(__alignof                   , KEYALL)
404
78.5k
KEYWORD(__attribute                 , KEYALL)
405
78.5k
KEYWORD(__builtin_choose_expr       , KEYALL)
406
78.5k
KEYWORD(__builtin_offsetof          , KEYALL)
407
78.5k
KEYWORD(__builtin_FILE              , KEYALL)
408
78.5k
KEYWORD(__builtin_FUNCTION          , KEYALL)
409
78.5k
KEYWORD(__builtin_LINE              , KEYALL)
410
78.5k
KEYWORD(__builtin_COLUMN            , KEYALL)
411
0
412
0
// __builtin_types_compatible_p is a GNU C extension that we handle like a C++
413
0
// type trait.
414
103k
TYPE_TRAIT_2(__builtin_types_compatible_p, TypeCompatible, KEYNOCXX)
415
78.5k
KEYWORD(__builtin_va_arg            , KEYALL)
416
78.5k
KEYWORD(__extension__               , KEYALL)
417
78.5k
KEYWORD(__float128                  , KEYALL)
418
78.5k
KEYWORD(__imag                      , KEYALL)
419
78.5k
KEYWORD(__int128                    , KEYALL)
420
78.5k
KEYWORD(__label__                   , KEYALL)
421
78.5k
KEYWORD(__real                      , KEYALL)
422
78.5k
KEYWORD(__thread                    , KEYALL)
423
78.5k
KEYWORD(__FUNCTION__                , KEYALL)
424
78.5k
KEYWORD(__PRETTY_FUNCTION__         , KEYALL)
425
78.5k
KEYWORD(__auto_type                 , KEYALL)
426
0
427
0
// GNU Extensions (outside impl-reserved namespace)
428
78.5k
KEYWORD(typeof                      , KEYGNU)
429
0
430
0
// MS Extensions
431
78.5k
KEYWORD(__FUNCDNAME__               , KEYMS)
432
78.5k
KEYWORD(__FUNCSIG__                 , KEYMS)
433
78.5k
KEYWORD(L__FUNCTION__               , KEYMS)
434
78.5k
KEYWORD(L__FUNCSIG__                , KEYMS)
435
103k
TYPE_TRAIT_1(__is_interface_class, IsInterfaceClass, KEYMS)
436
103k
TYPE_TRAIT_1(__is_sealed, IsSealed, KEYMS)
437
24.5k
438
24.5k
// MSVC12.0 / VS2013 Type Traits
439
103k
TYPE_TRAIT_1(__is_destructible, IsDestructible, KEYMS)
440
104k
TYPE_TRAIT_1(__is_trivially_destructible, IsTriviallyDestructible, KEYCXX)
441
103k
TYPE_TRAIT_1(__is_nothrow_destructible, IsNothrowDestructible, KEYMS)
442
104k
TYPE_TRAIT_2(__is_nothrow_assignable, IsNothrowAssignable, KEYCXX)
443
104k
TYPE_TRAIT_N(__is_constructible, IsConstructible, KEYCXX)
444
104k
TYPE_TRAIT_N(__is_nothrow_constructible, IsNothrowConstructible, KEYCXX)
445
24.5k
446
24.5k
// MSVC14.0 / VS2015 Type Traits
447
103k
TYPE_TRAIT_2(__is_assignable, IsAssignable, KEYCXX)
448
24.6k
449
24.6k
// GNU and MS Type Traits
450
103k
TYPE_TRAIT_1(__has_nothrow_assign, HasNothrowAssign, KEYCXX)
451
103k
TYPE_TRAIT_1(__has_nothrow_move_assign, HasNothrowMoveAssign, KEYCXX)
452
103k
TYPE_TRAIT_1(__has_nothrow_copy, HasNothrowCopy, KEYCXX)
453
103k
TYPE_TRAIT_1(__has_nothrow_constructor, HasNothrowConstructor, KEYCXX)
454
103k
TYPE_TRAIT_1(__has_trivial_assign, HasTrivialAssign, KEYCXX)
455
103k
TYPE_TRAIT_1(__has_trivial_move_assign, HasTrivialMoveAssign, KEYCXX)
456
103k
TYPE_TRAIT_1(__has_trivial_copy, HasTrivialCopy, KEYCXX)
457
103k
TYPE_TRAIT_1(__has_trivial_constructor, HasTrivialDefaultConstructor, KEYCXX)
458
103k
TYPE_TRAIT_1(__has_trivial_move_constructor, HasTrivialMoveConstructor, KEYCXX)
459
103k
TYPE_TRAIT_1(__has_trivial_destructor, HasTrivialDestructor, KEYCXX)
460
104k
TYPE_TRAIT_1(__has_virtual_destructor, HasVirtualDestructor, KEYCXX)
461
104k
TYPE_TRAIT_1(__is_abstract, IsAbstract, KEYCXX)
462
103k
TYPE_TRAIT_1(__is_aggregate, IsAggregate, KEYCXX)
463
104k
TYPE_TRAIT_2(__is_base_of, IsBaseOf, KEYCXX)
464
104k
TYPE_TRAIT_1(__is_class, IsClass, KEYCXX)
465
104k
TYPE_TRAIT_2(__is_convertible_to, IsConvertibleTo, KEYCXX)
466
104k
TYPE_TRAIT_1(__is_empty, IsEmpty, KEYCXX)
467
104k
TYPE_TRAIT_1(__is_enum, IsEnum, KEYCXX)
468
105k
TYPE_TRAIT_1(__is_final, IsFinal, KEYCXX)
469
104k
TYPE_TRAIT_1(__is_literal, IsLiteral, KEYCXX)
470
25.3k
// Name for GCC 4.6 compatibility - people have already written libraries using
471
25.3k
// this name unfortunately.
472
78.5k
ALIAS("__is_literal_type", __is_literal, KEYCXX)
473
105k
TYPE_TRAIT_1(__is_pod, IsPOD, KEYCXX)
474
104k
TYPE_TRAIT_1(__is_polymorphic, IsPolymorphic, KEYCXX)
475
105k
TYPE_TRAIT_1(__is_trivial, IsTrivial, KEYCXX)
476
104k
TYPE_TRAIT_1(__is_union, IsUnion, KEYCXX)
477
103k
TYPE_TRAIT_1(__has_unique_object_representations,
478
24.5k
             HasUniqueObjectRepresentations, KEYCXX)
479
24.5k
480
24.5k
// Clang-only C++ Type Traits
481
105k
TYPE_TRAIT_N(__is_trivially_constructible, IsTriviallyConstructible, KEYCXX)
482
105k
TYPE_TRAIT_1(__is_trivially_copyable, IsTriviallyCopyable, KEYCXX)
483
105k
TYPE_TRAIT_2(__is_trivially_assignable, IsTriviallyAssignable, KEYCXX)
484
103k
TYPE_TRAIT_2(__reference_binds_to_temporary, ReferenceBindsToTemporary, KEYCXX)
485
78.5k
KEYWORD(__underlying_type           , KEYCXX)
486
0
487
0
// Embarcadero Expression Traits
488
78.5k
KEYWORD(__is_lvalue_expr            , KEYCXX)
489
78.5k
KEYWORD(__is_rvalue_expr            , KEYCXX)
490
0
491
0
// Embarcadero Unary Type Traits
492
103k
TYPE_TRAIT_1(__is_arithmetic, IsArithmetic, KEYCXX)
493
103k
TYPE_TRAIT_1(__is_floating_point, IsFloatingPoint, KEYCXX)
494
103k
TYPE_TRAIT_1(__is_integral, IsIntegral, KEYCXX)
495
103k
TYPE_TRAIT_1(__is_complete_type, IsCompleteType, KEYCXX)
496
103k
TYPE_TRAIT_1(__is_void, IsVoid, KEYCXX)
497
103k
TYPE_TRAIT_1(__is_array, IsArray, KEYCXX)
498
103k
TYPE_TRAIT_1(__is_function, IsFunction, KEYCXX)
499
103k
TYPE_TRAIT_1(__is_reference, IsReference, KEYCXX)
500
103k
TYPE_TRAIT_1(__is_lvalue_reference, IsLvalueReference, KEYCXX)
501
103k
TYPE_TRAIT_1(__is_rvalue_reference, IsRvalueReference, KEYCXX)
502
103k
TYPE_TRAIT_1(__is_fundamental, IsFundamental, KEYCXX)
503
103k
TYPE_TRAIT_1(__is_object, IsObject, KEYCXX)
504
103k
TYPE_TRAIT_1(__is_scalar, IsScalar, KEYCXX)
505
103k
TYPE_TRAIT_1(__is_compound, IsCompound, KEYCXX)
506
103k
TYPE_TRAIT_1(__is_pointer, IsPointer, KEYCXX)
507
103k
TYPE_TRAIT_1(__is_member_object_pointer, IsMemberObjectPointer, KEYCXX)
508
103k
TYPE_TRAIT_1(__is_member_function_pointer, IsMemberFunctionPointer, KEYCXX)
509
103k
TYPE_TRAIT_1(__is_member_pointer, IsMemberPointer, KEYCXX)
510
103k
TYPE_TRAIT_1(__is_const, IsConst, KEYCXX)
511
103k
TYPE_TRAIT_1(__is_volatile, IsVolatile, KEYCXX)
512
105k
TYPE_TRAIT_1(__is_standard_layout, IsStandardLayout, KEYCXX)
513
103k
TYPE_TRAIT_1(__is_signed, IsSigned, KEYCXX)
514
103k
TYPE_TRAIT_1(__is_unsigned, IsUnsigned, KEYCXX)
515
24.6k
516
24.6k
// Embarcadero Binary Type Traits
517
106k
TYPE_TRAIT_2(__is_same, IsSame, KEYCXX)
518
103k
TYPE_TRAIT_2(__is_convertible, IsConvertible, KEYCXX)
519
78.5k
KEYWORD(__array_rank                , KEYCXX)
520
78.5k
KEYWORD(__array_extent              , KEYCXX)
521
0
522
0
// Apple Extension.
523
78.5k
KEYWORD(__private_extern__          , KEYALL)
524
78.5k
KEYWORD(__module_private__          , KEYALL)
525
0
526
0
// Extension that will be enabled for Microsoft, Borland and PS4, but can be
527
0
// disabled via '-fno-declspec'.
528
78.5k
KEYWORD(__declspec                  , 0)
529
0
530
0
// Microsoft Extension.
531
78.5k
KEYWORD(__cdecl                     , KEYALL)
532
78.5k
KEYWORD(__stdcall                   , KEYALL)
533
78.5k
KEYWORD(__fastcall                  , KEYALL)
534
78.5k
KEYWORD(__thiscall                  , KEYALL)
535
78.5k
KEYWORD(__regcall                   , KEYALL)
536
78.5k
KEYWORD(__vectorcall                , KEYALL)
537
78.5k
KEYWORD(__forceinline               , KEYMS)
538
78.5k
KEYWORD(__unaligned                 , KEYMS)
539
78.5k
KEYWORD(__super                     , KEYMS)
540
0
541
0
// OpenCL address space qualifiers
542
78.5k
KEYWORD(__global                    , KEYOPENCLC | KEYOPENCLCXX)
543
78.5k
KEYWORD(__local                     , KEYOPENCLC | KEYOPENCLCXX)
544
78.5k
KEYWORD(__constant                  , KEYOPENCLC | KEYOPENCLCXX)
545
78.5k
KEYWORD(__private                   , KEYOPENCLC | KEYOPENCLCXX)
546
78.5k
KEYWORD(__generic                   , KEYOPENCLC | KEYOPENCLCXX)
547
78.5k
ALIAS("global", __global            , KEYOPENCLC | KEYOPENCLCXX)
548
78.5k
ALIAS("local", __local              , KEYOPENCLC | KEYOPENCLCXX)
549
78.5k
ALIAS("constant", __constant        , KEYOPENCLC | KEYOPENCLCXX)
550
78.5k
ALIAS("private", __private          , KEYOPENCLC)
551
78.5k
ALIAS("generic", __generic          , KEYOPENCLC | KEYOPENCLCXX)
552
0
// OpenCL function qualifiers
553
78.5k
KEYWORD(__kernel                    , KEYOPENCLC | KEYOPENCLCXX)
554
78.5k
ALIAS("kernel", __kernel            , KEYOPENCLC | KEYOPENCLCXX)
555
0
// OpenCL access qualifiers
556
78.5k
KEYWORD(__read_only                 , KEYOPENCLC | KEYOPENCLCXX)
557
78.5k
KEYWORD(__write_only                , KEYOPENCLC | KEYOPENCLCXX)
558
78.5k
KEYWORD(__read_write                , KEYOPENCLC | KEYOPENCLCXX)
559
78.5k
ALIAS("read_only", __read_only      , KEYOPENCLC | KEYOPENCLCXX)
560
78.5k
ALIAS("write_only", __write_only    , KEYOPENCLC | KEYOPENCLCXX)
561
78.5k
ALIAS("read_write", __read_write    , KEYOPENCLC | KEYOPENCLCXX)
562
0
// OpenCL builtins
563
78.5k
KEYWORD(__builtin_astype            , KEYOPENCLC | KEYOPENCLCXX)
564
78.5k
KEYWORD(vec_step                    , KEYOPENCLC | KEYALTIVEC | KEYZVECTOR)
565
942k
#define GENERIC_IMAGE_TYPE(ImgType, Id) KEYWORD(ImgType##_t, KEYOPENCLC | KEYOPENCLCXX)
566
78.5k
#include "clang/Basic/OpenCLImageTypes.def"
567
0
568
0
// OpenMP Type Traits
569
78.5k
KEYWORD(__builtin_omp_required_simd_align, KEYALL)
570
0
571
78.5k
KEYWORD(pipe                        , KEYOPENCLC | KEYOPENCLCXX)
572
0
573
0
// Borland Extensions.
574
78.5k
KEYWORD(__pascal                    , KEYALL)
575
0
576
0
// Altivec Extension.
577
78.5k
KEYWORD(__vector                    , KEYALTIVEC|KEYZVECTOR)
578
78.5k
KEYWORD(__pixel                     , KEYALTIVEC)
579
78.5k
KEYWORD(__bool                      , KEYALTIVEC|KEYZVECTOR)
580
0
581
0
// ARM NEON extensions.
582
78.5k
ALIAS("__fp16", half                , KEYALL)
583
0
584
0
// OpenCL Extension.
585
78.5k
KEYWORD(half                        , HALFSUPPORT)
586
0
587
0
// Objective-C ARC keywords.
588
78.5k
KEYWORD(__bridge                     , KEYOBJC)
589
78.5k
KEYWORD(__bridge_transfer            , KEYOBJC)
590
78.5k
KEYWORD(__bridge_retained            , KEYOBJC)
591
78.5k
KEYWORD(__bridge_retain              , KEYOBJC)
592
0
593
0
// Objective-C keywords.
594
78.5k
KEYWORD(__covariant                  , KEYOBJC)
595
78.5k
KEYWORD(__contravariant              , KEYOBJC)
596
78.5k
KEYWORD(__kindof                     , KEYOBJC)
597
0
598
0
// Alternate spelling for various tokens.  There are GCC extensions in all
599
0
// languages, but should not be disabled in strict conformance mode.
600
78.5k
ALIAS("__alignof__"  , __alignof  , KEYALL)
601
78.5k
ALIAS("__asm"        , asm        , KEYALL)
602
78.5k
ALIAS("__asm__"      , asm        , KEYALL)
603
78.5k
ALIAS("__attribute__", __attribute, KEYALL)
604
78.5k
ALIAS("__complex"    , _Complex   , KEYALL)
605
78.5k
ALIAS("__complex__"  , _Complex   , KEYALL)
606
78.5k
ALIAS("__const"      , const      , KEYALL)
607
78.5k
ALIAS("__const__"    , const      , KEYALL)
608
78.5k
ALIAS("__decltype"   , decltype   , KEYCXX)
609
78.5k
ALIAS("__imag__"     , __imag     , KEYALL)
610
78.5k
ALIAS("__inline"     , inline     , KEYALL)
611
78.5k
ALIAS("__inline__"   , inline     , KEYALL)
612
78.5k
ALIAS("__nullptr"    , nullptr    , KEYCXX)
613
78.5k
ALIAS("__real__"     , __real     , KEYALL)
614
78.5k
ALIAS("__restrict"   , restrict   , KEYALL)
615
78.5k
ALIAS("__restrict__" , restrict   , KEYALL)
616
78.5k
ALIAS("__signed"     , signed     , KEYALL)
617
78.5k
ALIAS("__signed__"   , signed     , KEYALL)
618
78.5k
ALIAS("__typeof"     , typeof     , KEYALL)
619
78.5k
ALIAS("__typeof__"   , typeof     , KEYALL)
620
78.5k
ALIAS("__volatile"   , volatile   , KEYALL)
621
78.5k
ALIAS("__volatile__" , volatile   , KEYALL)
622
0
623
0
// Type nullability.
624
78.5k
KEYWORD(_Nonnull                 , KEYALL)
625
78.5k
KEYWORD(_Nullable                , KEYALL)
626
78.5k
KEYWORD(_Null_unspecified        , KEYALL)
627
0
628
0
// Microsoft extensions which should be disabled in strict conformance mode
629
78.5k
KEYWORD(__ptr64                       , KEYMS)
630
78.5k
KEYWORD(__ptr32                       , KEYMS)
631
78.5k
KEYWORD(__sptr                        , KEYMS)
632
78.5k
KEYWORD(__uptr                        , KEYMS)
633
78.5k
KEYWORD(__w64                         , KEYMS)
634
78.5k
KEYWORD(__uuidof                      , KEYMS | KEYBORLAND)
635
78.5k
KEYWORD(__try                         , KEYMS | KEYBORLAND)
636
78.5k
KEYWORD(__finally                     , KEYMS | KEYBORLAND)
637
78.5k
KEYWORD(__leave                       , KEYMS | KEYBORLAND)
638
78.5k
KEYWORD(__int64                       , KEYMS)
639
78.5k
KEYWORD(__if_exists                   , KEYMS)
640
78.5k
KEYWORD(__if_not_exists               , KEYMS)
641
78.5k
KEYWORD(__single_inheritance          , KEYMS)
642
78.5k
KEYWORD(__multiple_inheritance        , KEYMS)
643
78.5k
KEYWORD(__virtual_inheritance         , KEYMS)
644
78.5k
KEYWORD(__interface                   , KEYMS)
645
78.5k
ALIAS("__int8"           , char       , KEYMS)
646
78.5k
ALIAS("_int8"            , char       , KEYMS)
647
78.5k
ALIAS("__int16"          , short      , KEYMS)
648
78.5k
ALIAS("_int16"           , short      , KEYMS)
649
78.5k
ALIAS("__int32"          , int        , KEYMS)
650
78.5k
ALIAS("_int32"           , int        , KEYMS)
651
78.5k
ALIAS("_int64"           , __int64    , KEYMS)
652
78.5k
ALIAS("__wchar_t"        , wchar_t    , KEYMS)
653
78.5k
ALIAS("_asm"             , asm        , KEYMS)
654
78.5k
ALIAS("_alignof"         , __alignof  , KEYMS)
655
78.5k
ALIAS("__builtin_alignof", __alignof  , KEYMS)
656
78.5k
ALIAS("_cdecl"           , __cdecl    , KEYMS | KEYBORLAND)
657
78.5k
ALIAS("_fastcall"        , __fastcall , KEYMS | KEYBORLAND)
658
78.5k
ALIAS("_stdcall"         , __stdcall  , KEYMS | KEYBORLAND)
659
78.5k
ALIAS("_thiscall"        , __thiscall , KEYMS)
660
78.5k
ALIAS("_vectorcall"      , __vectorcall, KEYMS)
661
78.5k
ALIAS("_uuidof"          , __uuidof   , KEYMS | KEYBORLAND)
662
78.5k
ALIAS("_inline"          , inline     , KEYMS)
663
78.5k
ALIAS("_declspec"        , __declspec , KEYMS)
664
0
665
0
// Borland Extensions which should be disabled in strict conformance mode.
666
78.5k
ALIAS("_pascal"      , __pascal   , KEYBORLAND)
667
0
668
0
// Clang Extensions.
669
78.5k
KEYWORD(__builtin_convertvector   , KEYALL)
670
78.5k
ALIAS("__char16_t"   , char16_t   , KEYCXX)
671
78.5k
ALIAS("__char32_t"   , char32_t   , KEYCXX)
672
78.5k
KEYWORD(__builtin_bit_cast        , KEYALL)
673
78.5k
KEYWORD(__builtin_available       , KEYALL)
674
0
675
0
// Clang-specific keywords enabled only in testing.
676
821
TESTING_KEYWORD(__unknown_anytype , KEYALL)
677
0
678
0
679
0
//===----------------------------------------------------------------------===//
680
0
// Objective-C @-preceded keywords.
681
0
//===----------------------------------------------------------------------===//
682
0
683
0
// These have meaning after an '@' in Objective-C mode. These define enums in
684
0
// the tok::objc_* namespace.
685
0
686
77.6k
OBJC_AT_KEYWORD(not_keyword)
687
77.6k
OBJC_AT_KEYWORD(class)
688
77.6k
OBJC_AT_KEYWORD(compatibility_alias)
689
77.6k
OBJC_AT_KEYWORD(defs)
690
77.6k
OBJC_AT_KEYWORD(encode)
691
77.6k
OBJC_AT_KEYWORD(end)
692
77.6k
OBJC_AT_KEYWORD(implementation)
693
77.6k
OBJC_AT_KEYWORD(interface)
694
77.6k
OBJC_AT_KEYWORD(private)
695
77.6k
OBJC_AT_KEYWORD(protected)
696
77.6k
OBJC_AT_KEYWORD(protocol)
697
77.6k
OBJC_AT_KEYWORD(public)
698
77.6k
OBJC_AT_KEYWORD(selector)
699
77.6k
OBJC_AT_KEYWORD(throw)
700
77.6k
OBJC_AT_KEYWORD(try)
701
77.6k
OBJC_AT_KEYWORD(catch)
702
77.6k
OBJC_AT_KEYWORD(finally)
703
77.6k
OBJC_AT_KEYWORD(synchronized)
704
77.6k
OBJC_AT_KEYWORD(autoreleasepool)
705
0
706
77.6k
OBJC_AT_KEYWORD(property)
707
77.6k
OBJC_AT_KEYWORD(package)
708
77.6k
OBJC_AT_KEYWORD(required)
709
77.6k
OBJC_AT_KEYWORD(optional)
710
77.6k
OBJC_AT_KEYWORD(synthesize)
711
77.6k
OBJC_AT_KEYWORD(dynamic)
712
77.6k
OBJC_AT_KEYWORD(import)
713
77.6k
OBJC_AT_KEYWORD(available)
714
0
715
0
// TODO: What to do about context-sensitive keywords like:
716
0
//       bycopy/byref/in/inout/oneway/out?
717
0
718
220M
ANNOTATION(cxxscope)     // annotation for a C++ scope spec, e.g. "::foo::bar::"
719
219M
ANNOTATION(typename)     // annotation for a C typedef name, a C++ (possibly
720
219M
                         // qualified) typename, e.g. "foo::MyClass", or
721
219M
                         // template-id that names a type ("std::vector<int>")
722
219M
ANNOTATION219M
(template_id) // annotation for a C++ template-id that names a
723
219M
                         // function template specialization (not a type),
724
219M
                         // e.g., "std::swap<int>"
725
219M
ANNOTATION219M
(primary_expr) // annotation for a primary expression
726
219M
ANNOTATION219M
(decltype) // annotation for a decltype expression,
727
219M
                         // e.g., "decltype(foo.bar())"
728
219M
729
219M
// Annotation for #pragma unused(...)
730
219M
// For each argument inside the parentheses the pragma handler will produce
731
219M
// one 'pragma_unused' annotation token followed by the argument token.
732
219M
ANNOTATION219M
(pragma_unused)
733
219M
734
219M
// Annotation for #pragma GCC visibility...
735
219M
// The lexer produces these so that they only take effect when the parser
736
219M
// handles them.
737
219M
ANNOTATION219M
(pragma_vis)
738
219M
739
219M
// Annotation for #pragma pack...
740
219M
// The lexer produces these so that they only take effect when the parser
741
219M
// handles them.
742
219M
ANNOTATION219M
(pragma_pack)
743
219M
744
219M
// Annotation for #pragma clang __debug parser_crash...
745
219M
// The lexer produces these so that they only take effect when the parser
746
219M
// handles them.
747
219M
ANNOTATION219M
(pragma_parser_crash)
748
219M
749
219M
// Annotation for #pragma clang __debug captured...
750
219M
// The lexer produces these so that they only take effect when the parser
751
219M
// handles them.
752
219M
ANNOTATION219M
(pragma_captured)
753
219M
754
219M
// Annotation for #pragma clang __debug dump...
755
219M
// The lexer produces these so that the parser and semantic analysis can
756
219M
// look up and dump the operand.
757
219M
ANNOTATION219M
(pragma_dump)
758
219M
759
219M
// Annotation for #pragma ms_struct...
760
219M
// The lexer produces these so that they only take effect when the parser
761
219M
// handles them.
762
219M
ANNOTATION219M
(pragma_msstruct)
763
219M
764
219M
// Annotation for #pragma align...
765
219M
// The lexer produces these so that they only take effect when the parser
766
219M
// handles them.
767
219M
ANNOTATION219M
(pragma_align)
768
219M
769
219M
// Annotation for #pragma weak id
770
219M
// The lexer produces these so that they only take effect when the parser
771
219M
// handles them.
772
219M
ANNOTATION219M
(pragma_weak)
773
219M
774
219M
// Annotation for #pragma weak id = id
775
219M
// The lexer produces these so that they only take effect when the parser
776
219M
// handles them.
777
219M
ANNOTATION219M
(pragma_weakalias)
778
219M
779
219M
// Annotation for #pragma redefine_extname...
780
219M
// The lexer produces these so that they only take effect when the parser
781
219M
// handles them.
782
219M
ANNOTATION219M
(pragma_redefine_extname)
783
219M
784
219M
// Annotation for #pragma STDC FP_CONTRACT...
785
219M
// The lexer produces these so that they only take effect when the parser
786
219M
// handles them.
787
219M
ANNOTATION219M
(pragma_fp_contract)
788
219M
789
219M
// Annotation for #pragma STDC FENV_ACCESS
790
219M
// The lexer produces these so that they only take effect when the parser
791
219M
// handles them.
792
219M
ANNOTATION219M
(pragma_fenv_access)
793
219M
794
219M
// Annotation for #pragma pointers_to_members...
795
219M
// The lexer produces these so that they only take effect when the parser
796
219M
// handles them.
797
219M
ANNOTATION219M
(pragma_ms_pointers_to_members)
798
219M
799
219M
// Annotation for #pragma vtordisp...
800
219M
// The lexer produces these so that they only take effect when the parser
801
219M
// handles them.
802
219M
ANNOTATION219M
(pragma_ms_vtordisp)
803
219M
804
219M
// Annotation for all microsoft #pragmas...
805
219M
// The lexer produces these so that they only take effect when the parser
806
219M
// handles them.
807
219M
ANNOTATION219M
(pragma_ms_pragma)
808
219M
809
219M
// Annotation for #pragma OPENCL EXTENSION...
810
219M
// The lexer produces these so that they only take effect when the parser
811
219M
// handles them.
812
219M
ANNOTATION219M
(pragma_opencl_extension)
813
219M
814
219M
// Annotations for OpenMP pragma directives - #pragma omp ...
815
219M
// The lexer produces these so that they only take effect when the parser
816
219M
// handles #pragma omp ... directives.
817
219M
ANNOTATION219M
(pragma_openmp)
818
219M
ANNOTATION219M
(pragma_openmp_end)
819
219M
820
219M
// Annotations for loop pragma directives #pragma clang loop ...
821
219M
// The lexer produces these so that they only take effect when the parser
822
219M
// handles #pragma loop ... directives.
823
219M
ANNOTATION219M
(pragma_loop_hint)
824
219M
825
219M
ANNOTATION219M
(pragma_fp)
826
219M
827
219M
// Annotation for the attribute pragma directives - #pragma clang attribute ...
828
219M
ANNOTATION219M
(pragma_attribute)
829
219M
830
219M
// Annotations for module import translated from #include etc.
831
219M
ANNOTATION219M
(module_include)
832
219M
ANNOTATION219M
(module_begin)
833
219M
ANNOTATION219M
(module_end)
834
219M
835
219M
// Annotation for a header_name token that has been looked up and transformed
836
219M
// into the name of a header unit.
837
219M
ANNOTATION219M
(header_unit)
838
219M
839
219M
#undef ANNOTATION
840
219M
#undef TESTING_KEYWORD
841
219M
#undef OBJC_AT_KEYWORD
842
219M
#undef CXX_KEYWORD_OPERATOR
843
219M
#undef PPKEYWORD
844
219M
#undef ALIAS
845
219M
#undef TYPE_TRAIT_N
846
219M
#undef TYPE_TRAIT_2
847
219M
#undef TYPE_TRAIT_1
848
219M
#undef TYPE_TRAIT
849
219M
#undef CONCEPTS_KEYWORD
850
219M
#undef CXX2A_KEYWORD
851
219M
#undef CXX11_KEYWORD
852
219M
#undef KEYWORD
853
219M
#undef PUNCTUATOR
854
219M
#undef TOK