/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 |