Coverage Report

Created: 2017-10-03 07:32

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