[flang][cuda] Adapt ExternalNameConversion to work in gpu module (#117039)
[llvm-project.git] / clang / test / AST / ast-dump-default-init-json.cpp
blobf4949a9c9eedf4f5ac024ac9660c11f57a39b89d
1 // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsyntax-only -ast-dump=json %s | FileCheck %s
3 struct A {
4 int arr[1];
5 };
7 struct B {
8 const A &a = A{{0}};
9 };
11 void test() {
12 B b{};
15 // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
18 // CHECK-NOT: {{^}}Dumping
19 // CHECK: "kind": "TranslationUnitDecl",
20 // CHECK-NEXT: "loc": {},
21 // CHECK-NEXT: "range": {
22 // CHECK-NEXT: "begin": {},
23 // CHECK-NEXT: "end": {}
24 // CHECK-NEXT: },
25 // CHECK-NEXT: "inner": [
26 // CHECK-NEXT: {
27 // CHECK-NEXT: "id": "0x{{.*}}",
28 // CHECK-NEXT: "kind": "TypedefDecl",
29 // CHECK-NEXT: "loc": {},
30 // CHECK-NEXT: "range": {
31 // CHECK-NEXT: "begin": {},
32 // CHECK-NEXT: "end": {}
33 // CHECK-NEXT: },
34 // CHECK-NEXT: "isImplicit": true,
35 // CHECK-NEXT: "name": "__int128_t",
36 // CHECK-NEXT: "type": {
37 // CHECK-NEXT: "qualType": "__int128"
38 // CHECK-NEXT: },
39 // CHECK-NEXT: "inner": [
40 // CHECK-NEXT: {
41 // CHECK-NEXT: "id": "0x{{.*}}",
42 // CHECK-NEXT: "kind": "BuiltinType",
43 // CHECK-NEXT: "type": {
44 // CHECK-NEXT: "qualType": "__int128"
45 // CHECK-NEXT: }
46 // CHECK-NEXT: }
47 // CHECK-NEXT: ]
48 // CHECK-NEXT: },
49 // CHECK-NEXT: {
50 // CHECK-NEXT: "id": "0x{{.*}}",
51 // CHECK-NEXT: "kind": "TypedefDecl",
52 // CHECK-NEXT: "loc": {},
53 // CHECK-NEXT: "range": {
54 // CHECK-NEXT: "begin": {},
55 // CHECK-NEXT: "end": {}
56 // CHECK-NEXT: },
57 // CHECK-NEXT: "isImplicit": true,
58 // CHECK-NEXT: "name": "__uint128_t",
59 // CHECK-NEXT: "type": {
60 // CHECK-NEXT: "qualType": "unsigned __int128"
61 // CHECK-NEXT: },
62 // CHECK-NEXT: "inner": [
63 // CHECK-NEXT: {
64 // CHECK-NEXT: "id": "0x{{.*}}",
65 // CHECK-NEXT: "kind": "BuiltinType",
66 // CHECK-NEXT: "type": {
67 // CHECK-NEXT: "qualType": "unsigned __int128"
68 // CHECK-NEXT: }
69 // CHECK-NEXT: }
70 // CHECK-NEXT: ]
71 // CHECK-NEXT: },
72 // CHECK-NEXT: {
73 // CHECK-NEXT: "id": "0x{{.*}}",
74 // CHECK-NEXT: "kind": "TypedefDecl",
75 // CHECK-NEXT: "loc": {},
76 // CHECK-NEXT: "range": {
77 // CHECK-NEXT: "begin": {},
78 // CHECK-NEXT: "end": {}
79 // CHECK-NEXT: },
80 // CHECK-NEXT: "isImplicit": true,
81 // CHECK-NEXT: "name": "__NSConstantString",
82 // CHECK-NEXT: "type": {
83 // CHECK-NEXT: "qualType": "__NSConstantString_tag"
84 // CHECK-NEXT: },
85 // CHECK-NEXT: "inner": [
86 // CHECK-NEXT: {
87 // CHECK-NEXT: "id": "0x{{.*}}",
88 // CHECK-NEXT: "kind": "RecordType",
89 // CHECK-NEXT: "type": {
90 // CHECK-NEXT: "qualType": "__NSConstantString_tag"
91 // CHECK-NEXT: },
92 // CHECK-NEXT: "decl": {
93 // CHECK-NEXT: "id": "0x{{.*}}",
94 // CHECK-NEXT: "kind": "CXXRecordDecl",
95 // CHECK-NEXT: "name": "__NSConstantString_tag"
96 // CHECK-NEXT: }
97 // CHECK-NEXT: }
98 // CHECK-NEXT: ]
99 // CHECK-NEXT: },
100 // CHECK-NEXT: {
101 // CHECK-NEXT: "id": "0x{{.*}}",
102 // CHECK-NEXT: "kind": "TypedefDecl",
103 // CHECK-NEXT: "loc": {},
104 // CHECK-NEXT: "range": {
105 // CHECK-NEXT: "begin": {},
106 // CHECK-NEXT: "end": {}
107 // CHECK-NEXT: },
108 // CHECK-NEXT: "isImplicit": true,
109 // CHECK-NEXT: "name": "__builtin_ms_va_list",
110 // CHECK-NEXT: "type": {
111 // CHECK-NEXT: "qualType": "char *"
112 // CHECK-NEXT: },
113 // CHECK-NEXT: "inner": [
114 // CHECK-NEXT: {
115 // CHECK-NEXT: "id": "0x{{.*}}",
116 // CHECK-NEXT: "kind": "PointerType",
117 // CHECK-NEXT: "type": {
118 // CHECK-NEXT: "qualType": "char *"
119 // CHECK-NEXT: },
120 // CHECK-NEXT: "inner": [
121 // CHECK-NEXT: {
122 // CHECK-NEXT: "id": "0x{{.*}}",
123 // CHECK-NEXT: "kind": "BuiltinType",
124 // CHECK-NEXT: "type": {
125 // CHECK-NEXT: "qualType": "char"
126 // CHECK-NEXT: }
127 // CHECK-NEXT: }
128 // CHECK-NEXT: ]
129 // CHECK-NEXT: }
130 // CHECK-NEXT: ]
131 // CHECK-NEXT: },
132 // CHECK-NEXT: {
133 // CHECK-NEXT: "id": "0x{{.*}}",
134 // CHECK-NEXT: "kind": "TypedefDecl",
135 // CHECK-NEXT: "loc": {},
136 // CHECK-NEXT: "range": {
137 // CHECK-NEXT: "begin": {},
138 // CHECK-NEXT: "end": {}
139 // CHECK-NEXT: },
140 // CHECK-NEXT: "isImplicit": true,
141 // CHECK-NEXT: "name": "__builtin_va_list",
142 // CHECK-NEXT: "type": {
143 // CHECK-NEXT: "qualType": "__va_list_tag[1]"
144 // CHECK-NEXT: },
145 // CHECK-NEXT: "inner": [
146 // CHECK-NEXT: {
147 // CHECK-NEXT: "id": "0x{{.*}}",
148 // CHECK-NEXT: "kind": "ConstantArrayType",
149 // CHECK-NEXT: "type": {
150 // CHECK-NEXT: "qualType": "__va_list_tag[1]"
151 // CHECK-NEXT: },
152 // CHECK-NEXT: "size": 1,
153 // CHECK-NEXT: "inner": [
154 // CHECK-NEXT: {
155 // CHECK-NEXT: "id": "0x{{.*}}",
156 // CHECK-NEXT: "kind": "RecordType",
157 // CHECK-NEXT: "type": {
158 // CHECK-NEXT: "qualType": "__va_list_tag"
159 // CHECK-NEXT: },
160 // CHECK-NEXT: "decl": {
161 // CHECK-NEXT: "id": "0x{{.*}}",
162 // CHECK-NEXT: "kind": "CXXRecordDecl",
163 // CHECK-NEXT: "name": "__va_list_tag"
164 // CHECK-NEXT: }
165 // CHECK-NEXT: }
166 // CHECK-NEXT: ]
167 // CHECK-NEXT: }
168 // CHECK-NEXT: ]
169 // CHECK-NEXT: },
170 // CHECK-NEXT: {
171 // CHECK-NEXT: "id": "0x{{.*}}",
172 // CHECK-NEXT: "kind": "CXXRecordDecl",
173 // CHECK-NEXT: "loc": {
174 // CHECK-NEXT: "offset": 99,
175 // CHECK-NEXT: "file": "{{.*}}",
176 // CHECK-NEXT: "line": 3,
177 // CHECK-NEXT: "col": 8,
178 // CHECK-NEXT: "tokLen": 1
179 // CHECK-NEXT: },
180 // CHECK-NEXT: "range": {
181 // CHECK-NEXT: "begin": {
182 // CHECK-NEXT: "offset": 92,
183 // CHECK-NEXT: "col": 1,
184 // CHECK-NEXT: "tokLen": 6
185 // CHECK-NEXT: },
186 // CHECK-NEXT: "end": {
187 // CHECK-NEXT: "offset": 117,
188 // CHECK-NEXT: "line": 5,
189 // CHECK-NEXT: "col": 1,
190 // CHECK-NEXT: "tokLen": 1
191 // CHECK-NEXT: }
192 // CHECK-NEXT: },
193 // CHECK-NEXT: "isReferenced": true,
194 // CHECK-NEXT: "name": "A",
195 // CHECK-NEXT: "tagUsed": "struct",
196 // CHECK-NEXT: "completeDefinition": true,
197 // CHECK-NEXT: "definitionData": {
198 // CHECK-NEXT: "canPassInRegisters": true,
199 // CHECK-NEXT: "copyAssign": {
200 // CHECK-NEXT: "hasConstParam": true,
201 // CHECK-NEXT: "implicitHasConstParam": true,
202 // CHECK-NEXT: "needsImplicit": true,
203 // CHECK-NEXT: "simple": true,
204 // CHECK-NEXT: "trivial": true
205 // CHECK-NEXT: },
206 // CHECK-NEXT: "copyCtor": {
207 // CHECK-NEXT: "hasConstParam": true,
208 // CHECK-NEXT: "implicitHasConstParam": true,
209 // CHECK-NEXT: "needsImplicit": true,
210 // CHECK-NEXT: "simple": true,
211 // CHECK-NEXT: "trivial": true
212 // CHECK-NEXT: },
213 // CHECK-NEXT: "defaultCtor": {
214 // CHECK-NEXT: "exists": true,
215 // CHECK-NEXT: "needsImplicit": true,
216 // CHECK-NEXT: "trivial": true
217 // CHECK-NEXT: },
218 // CHECK-NEXT: "dtor": {
219 // CHECK-NEXT: "irrelevant": true,
220 // CHECK-NEXT: "simple": true,
221 // CHECK-NEXT: "trivial": true
222 // CHECK-NEXT: },
223 // CHECK-NEXT: "isAggregate": true,
224 // CHECK-NEXT: "isLiteral": true,
225 // CHECK-NEXT: "isPOD": true,
226 // CHECK-NEXT: "isStandardLayout": true,
227 // CHECK-NEXT: "isTrivial": true,
228 // CHECK-NEXT: "isTriviallyCopyable": true,
229 // CHECK-NEXT: "moveAssign": {
230 // CHECK-NEXT: "exists": true,
231 // CHECK-NEXT: "needsImplicit": true,
232 // CHECK-NEXT: "simple": true,
233 // CHECK-NEXT: "trivial": true
234 // CHECK-NEXT: },
235 // CHECK-NEXT: "moveCtor": {
236 // CHECK-NEXT: "exists": true,
237 // CHECK-NEXT: "needsImplicit": true,
238 // CHECK-NEXT: "simple": true,
239 // CHECK-NEXT: "trivial": true
240 // CHECK-NEXT: }
241 // CHECK-NEXT: },
242 // CHECK-NEXT: "inner": [
243 // CHECK-NEXT: {
244 // CHECK-NEXT: "id": "0x{{.*}}",
245 // CHECK-NEXT: "kind": "CXXRecordDecl",
246 // CHECK-NEXT: "loc": {
247 // CHECK-NEXT: "offset": 99,
248 // CHECK-NEXT: "line": 3,
249 // CHECK-NEXT: "col": 8,
250 // CHECK-NEXT: "tokLen": 1
251 // CHECK-NEXT: },
252 // CHECK-NEXT: "range": {
253 // CHECK-NEXT: "begin": {
254 // CHECK-NEXT: "offset": 92,
255 // CHECK-NEXT: "col": 1,
256 // CHECK-NEXT: "tokLen": 6
257 // CHECK-NEXT: },
258 // CHECK-NEXT: "end": {
259 // CHECK-NEXT: "offset": 99,
260 // CHECK-NEXT: "col": 8,
261 // CHECK-NEXT: "tokLen": 1
262 // CHECK-NEXT: }
263 // CHECK-NEXT: },
264 // CHECK-NEXT: "isImplicit": true,
265 // CHECK-NEXT: "name": "A",
266 // CHECK-NEXT: "tagUsed": "struct"
267 // CHECK-NEXT: },
268 // CHECK-NEXT: {
269 // CHECK-NEXT: "id": "0x{{.*}}",
270 // CHECK-NEXT: "kind": "FieldDecl",
271 // CHECK-NEXT: "loc": {
272 // CHECK-NEXT: "offset": 109,
273 // CHECK-NEXT: "line": 4,
274 // CHECK-NEXT: "col": 7,
275 // CHECK-NEXT: "tokLen": 3
276 // CHECK-NEXT: },
277 // CHECK-NEXT: "range": {
278 // CHECK-NEXT: "begin": {
279 // CHECK-NEXT: "offset": 105,
280 // CHECK-NEXT: "col": 3,
281 // CHECK-NEXT: "tokLen": 3
282 // CHECK-NEXT: },
283 // CHECK-NEXT: "end": {
284 // CHECK-NEXT: "offset": 114,
285 // CHECK-NEXT: "col": 12,
286 // CHECK-NEXT: "tokLen": 1
287 // CHECK-NEXT: }
288 // CHECK-NEXT: },
289 // CHECK-NEXT: "name": "arr",
290 // CHECK-NEXT: "type": {
291 // CHECK-NEXT: "qualType": "int[1]"
292 // CHECK-NEXT: }
293 // CHECK-NEXT: },
294 // CHECK-NEXT: {
295 // CHECK-NEXT: "id": "0x{{.*}}",
296 // CHECK-NEXT: "kind": "CXXDestructorDecl",
297 // CHECK-NEXT: "loc": {
298 // CHECK-NEXT: "offset": 99,
299 // CHECK-NEXT: "line": 3,
300 // CHECK-NEXT: "col": 8,
301 // CHECK-NEXT: "tokLen": 1
302 // CHECK-NEXT: },
303 // CHECK-NEXT: "range": {
304 // CHECK-NEXT: "begin": {
305 // CHECK-NEXT: "offset": 99,
306 // CHECK-NEXT: "col": 8,
307 // CHECK-NEXT: "tokLen": 1
308 // CHECK-NEXT: },
309 // CHECK-NEXT: "end": {
310 // CHECK-NEXT: "offset": 99,
311 // CHECK-NEXT: "col": 8,
312 // CHECK-NEXT: "tokLen": 1
313 // CHECK-NEXT: }
314 // CHECK-NEXT: },
315 // CHECK-NEXT: "isImplicit": true,
316 // CHECK-NEXT: "isReferenced": true,
317 // CHECK-NEXT: "name": "~A",
318 // CHECK-NEXT: "mangledName": "_ZN1AD1Ev",
319 // CHECK-NEXT: "type": {
320 // CHECK-NEXT: "qualType": "void () noexcept"
321 // CHECK-NEXT: },
322 // CHECK-NEXT: "inline": true,
323 // CHECK-NEXT: "explicitlyDefaulted": "default"
324 // CHECK-NEXT: }
325 // CHECK-NEXT: ]
326 // CHECK-NEXT: },
327 // CHECK-NEXT: {
328 // CHECK-NEXT: "id": "0x{{.*}}",
329 // CHECK-NEXT: "kind": "CXXRecordDecl",
330 // CHECK-NEXT: "loc": {
331 // CHECK-NEXT: "offset": 128,
332 // CHECK-NEXT: "line": 7,
333 // CHECK-NEXT: "col": 8,
334 // CHECK-NEXT: "tokLen": 1
335 // CHECK-NEXT: },
336 // CHECK-NEXT: "range": {
337 // CHECK-NEXT: "begin": {
338 // CHECK-NEXT: "offset": 121,
339 // CHECK-NEXT: "col": 1,
340 // CHECK-NEXT: "tokLen": 6
341 // CHECK-NEXT: },
342 // CHECK-NEXT: "end": {
343 // CHECK-NEXT: "offset": 155,
344 // CHECK-NEXT: "line": 9,
345 // CHECK-NEXT: "col": 1,
346 // CHECK-NEXT: "tokLen": 1
347 // CHECK-NEXT: }
348 // CHECK-NEXT: },
349 // CHECK-NEXT: "isReferenced": true,
350 // CHECK-NEXT: "name": "B",
351 // CHECK-NEXT: "tagUsed": "struct",
352 // CHECK-NEXT: "completeDefinition": true,
353 // CHECK-NEXT: "definitionData": {
354 // CHECK-NEXT: "canConstDefaultInit": true,
355 // CHECK-NEXT: "canPassInRegisters": true,
356 // CHECK-NEXT: "copyAssign": {
357 // CHECK-NEXT: "hasConstParam": true,
358 // CHECK-NEXT: "implicitHasConstParam": true,
359 // CHECK-NEXT: "needsImplicit": true,
360 // CHECK-NEXT: "trivial": true
361 // CHECK-NEXT: },
362 // CHECK-NEXT: "copyCtor": {
363 // CHECK-NEXT: "hasConstParam": true,
364 // CHECK-NEXT: "implicitHasConstParam": true,
365 // CHECK-NEXT: "needsImplicit": true,
366 // CHECK-NEXT: "simple": true,
367 // CHECK-NEXT: "trivial": true
368 // CHECK-NEXT: },
369 // CHECK-NEXT: "defaultCtor": {
370 // CHECK-NEXT: "defaultedIsConstexpr": true,
371 // CHECK-NEXT: "exists": true,
372 // CHECK-NEXT: "isConstexpr": true,
373 // CHECK-NEXT: "needsImplicit": true,
374 // CHECK-NEXT: "nonTrivial": true
375 // CHECK-NEXT: },
376 // CHECK-NEXT: "dtor": {
377 // CHECK-NEXT: "irrelevant": true,
378 // CHECK-NEXT: "needsImplicit": true,
379 // CHECK-NEXT: "simple": true,
380 // CHECK-NEXT: "trivial": true
381 // CHECK-NEXT: },
382 // CHECK-NEXT: "hasConstexprNonCopyMoveConstructor": true,
383 // CHECK-NEXT: "isAggregate": true,
384 // CHECK-NEXT: "isLiteral": true,
385 // CHECK-NEXT: "isTriviallyCopyable": true,
386 // CHECK-NEXT: "moveAssign": {
387 // CHECK-NEXT: "exists": true,
388 // CHECK-NEXT: "needsImplicit": true,
389 // CHECK-NEXT: "trivial": true
390 // CHECK-NEXT: },
391 // CHECK-NEXT: "moveCtor": {
392 // CHECK-NEXT: "exists": true,
393 // CHECK-NEXT: "needsImplicit": true,
394 // CHECK-NEXT: "simple": true,
395 // CHECK-NEXT: "trivial": true
396 // CHECK-NEXT: }
397 // CHECK-NEXT: },
398 // CHECK-NEXT: "inner": [
399 // CHECK-NEXT: {
400 // CHECK-NEXT: "id": "0x{{.*}}",
401 // CHECK-NEXT: "kind": "CXXRecordDecl",
402 // CHECK-NEXT: "loc": {
403 // CHECK-NEXT: "offset": 128,
404 // CHECK-NEXT: "line": 7,
405 // CHECK-NEXT: "col": 8,
406 // CHECK-NEXT: "tokLen": 1
407 // CHECK-NEXT: },
408 // CHECK-NEXT: "range": {
409 // CHECK-NEXT: "begin": {
410 // CHECK-NEXT: "offset": 121,
411 // CHECK-NEXT: "col": 1,
412 // CHECK-NEXT: "tokLen": 6
413 // CHECK-NEXT: },
414 // CHECK-NEXT: "end": {
415 // CHECK-NEXT: "offset": 128,
416 // CHECK-NEXT: "col": 8,
417 // CHECK-NEXT: "tokLen": 1
418 // CHECK-NEXT: }
419 // CHECK-NEXT: },
420 // CHECK-NEXT: "isImplicit": true,
421 // CHECK-NEXT: "name": "B",
422 // CHECK-NEXT: "tagUsed": "struct"
423 // CHECK-NEXT: },
424 // CHECK-NEXT: {
425 // CHECK-NEXT: "id": "0x{{.*}}",
426 // CHECK-NEXT: "kind": "FieldDecl",
427 // CHECK-NEXT: "loc": {
428 // CHECK-NEXT: "offset": 143,
429 // CHECK-NEXT: "line": 8,
430 // CHECK-NEXT: "col": 12,
431 // CHECK-NEXT: "tokLen": 1
432 // CHECK-NEXT: },
433 // CHECK-NEXT: "range": {
434 // CHECK-NEXT: "begin": {
435 // CHECK-NEXT: "offset": 134,
436 // CHECK-NEXT: "col": 3,
437 // CHECK-NEXT: "tokLen": 5
438 // CHECK-NEXT: },
439 // CHECK-NEXT: "end": {
440 // CHECK-NEXT: "offset": 152,
441 // CHECK-NEXT: "col": 21,
442 // CHECK-NEXT: "tokLen": 1
443 // CHECK-NEXT: }
444 // CHECK-NEXT: },
445 // CHECK-NEXT: "name": "a",
446 // CHECK-NEXT: "type": {
447 // CHECK-NEXT: "qualType": "const A &"
448 // CHECK-NEXT: },
449 // CHECK-NEXT: "hasInClassInitializer": true,
450 // CHECK-NEXT: "inner": [
451 // CHECK-NEXT: {
452 // CHECK-NEXT: "id": "0x{{.*}}",
453 // CHECK-NEXT: "kind": "ExprWithCleanups",
454 // CHECK-NEXT: "range": {
455 // CHECK-NEXT: "begin": {
456 // CHECK-NEXT: "offset": 147,
457 // CHECK-NEXT: "col": 16,
458 // CHECK-NEXT: "tokLen": 1
459 // CHECK-NEXT: },
460 // CHECK-NEXT: "end": {
461 // CHECK-NEXT: "offset": 152,
462 // CHECK-NEXT: "col": 21,
463 // CHECK-NEXT: "tokLen": 1
464 // CHECK-NEXT: }
465 // CHECK-NEXT: },
466 // CHECK-NEXT: "type": {
467 // CHECK-NEXT: "qualType": "const A"
468 // CHECK-NEXT: },
469 // CHECK-NEXT: "valueCategory": "lvalue",
470 // CHECK-NEXT: "inner": [
471 // CHECK-NEXT: {
472 // CHECK-NEXT: "id": "0x{{.*}}",
473 // CHECK-NEXT: "kind": "MaterializeTemporaryExpr",
474 // CHECK-NEXT: "range": {
475 // CHECK-NEXT: "begin": {
476 // CHECK-NEXT: "offset": 147,
477 // CHECK-NEXT: "col": 16,
478 // CHECK-NEXT: "tokLen": 1
479 // CHECK-NEXT: },
480 // CHECK-NEXT: "end": {
481 // CHECK-NEXT: "offset": 152,
482 // CHECK-NEXT: "col": 21,
483 // CHECK-NEXT: "tokLen": 1
484 // CHECK-NEXT: }
485 // CHECK-NEXT: },
486 // CHECK-NEXT: "type": {
487 // CHECK-NEXT: "qualType": "const A"
488 // CHECK-NEXT: },
489 // CHECK-NEXT: "valueCategory": "lvalue",
490 // CHECK-NEXT: "extendingDecl": {
491 // CHECK-NEXT: "id": "0x{{.*}}",
492 // CHECK-NEXT: "kind": "FieldDecl",
493 // CHECK-NEXT: "name": "a",
494 // CHECK-NEXT: "type": {
495 // CHECK-NEXT: "qualType": "const A &"
496 // CHECK-NEXT: }
497 // CHECK-NEXT: },
498 // CHECK-NEXT: "storageDuration": "automatic",
499 // CHECK-NEXT: "boundToLValueRef": true,
500 // CHECK-NEXT: "inner": [
501 // CHECK-NEXT: {
502 // CHECK-NEXT: "id": "0x{{.*}}",
503 // CHECK-NEXT: "kind": "ImplicitCastExpr",
504 // CHECK-NEXT: "range": {
505 // CHECK-NEXT: "begin": {
506 // CHECK-NEXT: "offset": 147,
507 // CHECK-NEXT: "col": 16,
508 // CHECK-NEXT: "tokLen": 1
509 // CHECK-NEXT: },
510 // CHECK-NEXT: "end": {
511 // CHECK-NEXT: "offset": 152,
512 // CHECK-NEXT: "col": 21,
513 // CHECK-NEXT: "tokLen": 1
514 // CHECK-NEXT: }
515 // CHECK-NEXT: },
516 // CHECK-NEXT: "type": {
517 // CHECK-NEXT: "qualType": "const A"
518 // CHECK-NEXT: },
519 // CHECK-NEXT: "valueCategory": "prvalue",
520 // CHECK-NEXT: "castKind": "NoOp",
521 // CHECK-NEXT: "inner": [
522 // CHECK-NEXT: {
523 // CHECK-NEXT: "id": "0x{{.*}}",
524 // CHECK-NEXT: "kind": "CXXFunctionalCastExpr",
525 // CHECK-NEXT: "range": {
526 // CHECK-NEXT: "begin": {
527 // CHECK-NEXT: "offset": 147,
528 // CHECK-NEXT: "col": 16,
529 // CHECK-NEXT: "tokLen": 1
530 // CHECK-NEXT: },
531 // CHECK-NEXT: "end": {
532 // CHECK-NEXT: "offset": 152,
533 // CHECK-NEXT: "col": 21,
534 // CHECK-NEXT: "tokLen": 1
535 // CHECK-NEXT: }
536 // CHECK-NEXT: },
537 // CHECK-NEXT: "type": {
538 // CHECK-NEXT: "qualType": "A"
539 // CHECK-NEXT: },
540 // CHECK-NEXT: "valueCategory": "prvalue",
541 // CHECK-NEXT: "castKind": "NoOp",
542 // CHECK-NEXT: "inner": [
543 // CHECK-NEXT: {
544 // CHECK-NEXT: "id": "0x{{.*}}",
545 // CHECK-NEXT: "kind": "InitListExpr",
546 // CHECK-NEXT: "range": {
547 // CHECK-NEXT: "begin": {
548 // CHECK-NEXT: "offset": 148,
549 // CHECK-NEXT: "col": 17,
550 // CHECK-NEXT: "tokLen": 1
551 // CHECK-NEXT: },
552 // CHECK-NEXT: "end": {
553 // CHECK-NEXT: "offset": 152,
554 // CHECK-NEXT: "col": 21,
555 // CHECK-NEXT: "tokLen": 1
556 // CHECK-NEXT: }
557 // CHECK-NEXT: },
558 // CHECK-NEXT: "type": {
559 // CHECK-NEXT: "qualType": "A"
560 // CHECK-NEXT: },
561 // CHECK-NEXT: "valueCategory": "prvalue",
562 // CHECK-NEXT: "inner": [
563 // CHECK-NEXT: {
564 // CHECK-NEXT: "id": "0x{{.*}}",
565 // CHECK-NEXT: "kind": "InitListExpr",
566 // CHECK-NEXT: "range": {
567 // CHECK-NEXT: "begin": {
568 // CHECK-NEXT: "offset": 149,
569 // CHECK-NEXT: "col": 18,
570 // CHECK-NEXT: "tokLen": 1
571 // CHECK-NEXT: },
572 // CHECK-NEXT: "end": {
573 // CHECK-NEXT: "offset": 151,
574 // CHECK-NEXT: "col": 20,
575 // CHECK-NEXT: "tokLen": 1
576 // CHECK-NEXT: }
577 // CHECK-NEXT: },
578 // CHECK-NEXT: "type": {
579 // CHECK-NEXT: "qualType": "int[1]"
580 // CHECK-NEXT: },
581 // CHECK-NEXT: "valueCategory": "prvalue",
582 // CHECK-NEXT: "inner": [
583 // CHECK-NEXT: {
584 // CHECK-NEXT: "id": "0x{{.*}}",
585 // CHECK-NEXT: "kind": "IntegerLiteral",
586 // CHECK-NEXT: "range": {
587 // CHECK-NEXT: "begin": {
588 // CHECK-NEXT: "offset": 150,
589 // CHECK-NEXT: "col": 19,
590 // CHECK-NEXT: "tokLen": 1
591 // CHECK-NEXT: },
592 // CHECK-NEXT: "end": {
593 // CHECK-NEXT: "offset": 150,
594 // CHECK-NEXT: "col": 19,
595 // CHECK-NEXT: "tokLen": 1
596 // CHECK-NEXT: }
597 // CHECK-NEXT: },
598 // CHECK-NEXT: "type": {
599 // CHECK-NEXT: "qualType": "int"
600 // CHECK-NEXT: },
601 // CHECK-NEXT: "valueCategory": "prvalue",
602 // CHECK-NEXT: "value": "0"
603 // CHECK-NEXT: }
604 // CHECK-NEXT: ]
605 // CHECK-NEXT: }
606 // CHECK-NEXT: ]
607 // CHECK-NEXT: }
608 // CHECK-NEXT: ]
609 // CHECK-NEXT: }
610 // CHECK-NEXT: ]
611 // CHECK-NEXT: }
612 // CHECK-NEXT: ]
613 // CHECK-NEXT: }
614 // CHECK-NEXT: ]
615 // CHECK-NEXT: }
616 // CHECK-NEXT: ]
617 // CHECK-NEXT: }
618 // CHECK-NEXT: ]
619 // CHECK-NEXT: },
620 // CHECK-NEXT: {
621 // CHECK-NEXT: "id": "0x{{.*}}",
622 // CHECK-NEXT: "kind": "FunctionDecl",
623 // CHECK-NEXT: "loc": {
624 // CHECK-NEXT: "offset": 164,
625 // CHECK-NEXT: "line": 11,
626 // CHECK-NEXT: "col": 6,
627 // CHECK-NEXT: "tokLen": 4
628 // CHECK-NEXT: },
629 // CHECK-NEXT: "range": {
630 // CHECK-NEXT: "begin": {
631 // CHECK-NEXT: "offset": 159,
632 // CHECK-NEXT: "col": 1,
633 // CHECK-NEXT: "tokLen": 4
634 // CHECK-NEXT: },
635 // CHECK-NEXT: "end": {
636 // CHECK-NEXT: "offset": 182,
637 // CHECK-NEXT: "line": 13,
638 // CHECK-NEXT: "col": 1,
639 // CHECK-NEXT: "tokLen": 1
640 // CHECK-NEXT: }
641 // CHECK-NEXT: },
642 // CHECK-NEXT: "name": "test",
643 // CHECK-NEXT: "mangledName": "_Z4testv",
644 // CHECK-NEXT: "type": {
645 // CHECK-NEXT: "qualType": "void ()"
646 // CHECK-NEXT: },
647 // CHECK-NEXT: "inner": [
648 // CHECK-NEXT: {
649 // CHECK-NEXT: "id": "0x{{.*}}",
650 // CHECK-NEXT: "kind": "CompoundStmt",
651 // CHECK-NEXT: "range": {
652 // CHECK-NEXT: "begin": {
653 // CHECK-NEXT: "offset": 171,
654 // CHECK-NEXT: "line": 11,
655 // CHECK-NEXT: "col": 13,
656 // CHECK-NEXT: "tokLen": 1
657 // CHECK-NEXT: },
658 // CHECK-NEXT: "end": {
659 // CHECK-NEXT: "offset": 182,
660 // CHECK-NEXT: "line": 13,
661 // CHECK-NEXT: "col": 1,
662 // CHECK-NEXT: "tokLen": 1
663 // CHECK-NEXT: }
664 // CHECK-NEXT: },
665 // CHECK-NEXT: "inner": [
666 // CHECK-NEXT: {
667 // CHECK-NEXT: "id": "0x{{.*}}",
668 // CHECK-NEXT: "kind": "DeclStmt",
669 // CHECK-NEXT: "range": {
670 // CHECK-NEXT: "begin": {
671 // CHECK-NEXT: "offset": 175,
672 // CHECK-NEXT: "line": 12,
673 // CHECK-NEXT: "col": 3,
674 // CHECK-NEXT: "tokLen": 1
675 // CHECK-NEXT: },
676 // CHECK-NEXT: "end": {
677 // CHECK-NEXT: "offset": 180,
678 // CHECK-NEXT: "col": 8,
679 // CHECK-NEXT: "tokLen": 1
680 // CHECK-NEXT: }
681 // CHECK-NEXT: },
682 // CHECK-NEXT: "inner": [
683 // CHECK-NEXT: {
684 // CHECK-NEXT: "id": "0x{{.*}}",
685 // CHECK-NEXT: "kind": "VarDecl",
686 // CHECK-NEXT: "loc": {
687 // CHECK-NEXT: "offset": 177,
688 // CHECK-NEXT: "col": 5,
689 // CHECK-NEXT: "tokLen": 1
690 // CHECK-NEXT: },
691 // CHECK-NEXT: "range": {
692 // CHECK-NEXT: "begin": {
693 // CHECK-NEXT: "offset": 175,
694 // CHECK-NEXT: "col": 3,
695 // CHECK-NEXT: "tokLen": 1
696 // CHECK-NEXT: },
697 // CHECK-NEXT: "end": {
698 // CHECK-NEXT: "offset": 179,
699 // CHECK-NEXT: "col": 7,
700 // CHECK-NEXT: "tokLen": 1
701 // CHECK-NEXT: }
702 // CHECK-NEXT: },
703 // CHECK-NEXT: "name": "b",
704 // CHECK-NEXT: "type": {
705 // CHECK-NEXT: "qualType": "B"
706 // CHECK-NEXT: },
707 // CHECK-NEXT: "init": "list",
708 // CHECK-NEXT: "inner": [
709 // CHECK-NEXT: {
710 // CHECK-NEXT: "id": "0x{{.*}}",
711 // CHECK-NEXT: "kind": "InitListExpr",
712 // CHECK-NEXT: "range": {
713 // CHECK-NEXT: "begin": {
714 // CHECK-NEXT: "offset": 178,
715 // CHECK-NEXT: "col": 6,
716 // CHECK-NEXT: "tokLen": 1
717 // CHECK-NEXT: },
718 // CHECK-NEXT: "end": {
719 // CHECK-NEXT: "offset": 179,
720 // CHECK-NEXT: "col": 7,
721 // CHECK-NEXT: "tokLen": 1
722 // CHECK-NEXT: }
723 // CHECK-NEXT: },
724 // CHECK-NEXT: "type": {
725 // CHECK-NEXT: "qualType": "B"
726 // CHECK-NEXT: },
727 // CHECK-NEXT: "valueCategory": "prvalue",
728 // CHECK-NEXT: "inner": [
729 // CHECK-NEXT: {
730 // CHECK-NEXT: "id": "0x{{.*}}",
731 // CHECK-NEXT: "kind": "CXXDefaultInitExpr",
732 // CHECK-NEXT: "range": {
733 // CHECK-NEXT: "begin": {
734 // CHECK-NEXT: "offset": 179,
735 // CHECK-NEXT: "col": 7,
736 // CHECK-NEXT: "tokLen": 1
737 // CHECK-NEXT: },
738 // CHECK-NEXT: "end": {
739 // CHECK-NEXT: "offset": 179,
740 // CHECK-NEXT: "col": 7,
741 // CHECK-NEXT: "tokLen": 1
742 // CHECK-NEXT: }
743 // CHECK-NEXT: },
744 // CHECK-NEXT: "type": {
745 // CHECK-NEXT: "qualType": "const A"
746 // CHECK-NEXT: },
747 // CHECK-NEXT: "valueCategory": "lvalue",
748 // CHECK-NEXT: "hasRewrittenInit": true,
749 // CHECK-NEXT: "inner": [
750 // CHECK-NEXT: {
751 // CHECK-NEXT: "id": "0x{{.*}}",
752 // CHECK-NEXT: "kind": "ExprWithCleanups",
753 // CHECK-NEXT: "range": {
754 // CHECK-NEXT: "begin": {
755 // CHECK-NEXT: "offset": 147,
756 // CHECK-NEXT: "line": 8,
757 // CHECK-NEXT: "col": 16,
758 // CHECK-NEXT: "tokLen": 1
759 // CHECK-NEXT: },
760 // CHECK-NEXT: "end": {
761 // CHECK-NEXT: "offset": 152,
762 // CHECK-NEXT: "col": 21,
763 // CHECK-NEXT: "tokLen": 1
764 // CHECK-NEXT: }
765 // CHECK-NEXT: },
766 // CHECK-NEXT: "type": {
767 // CHECK-NEXT: "qualType": "const A"
768 // CHECK-NEXT: },
769 // CHECK-NEXT: "valueCategory": "lvalue",
770 // CHECK-NEXT: "inner": [
771 // CHECK-NEXT: {
772 // CHECK-NEXT: "id": "0x{{.*}}",
773 // CHECK-NEXT: "kind": "MaterializeTemporaryExpr",
774 // CHECK-NEXT: "range": {
775 // CHECK-NEXT: "begin": {
776 // CHECK-NEXT: "offset": 147,
777 // CHECK-NEXT: "col": 16,
778 // CHECK-NEXT: "tokLen": 1
779 // CHECK-NEXT: },
780 // CHECK-NEXT: "end": {
781 // CHECK-NEXT: "offset": 152,
782 // CHECK-NEXT: "col": 21,
783 // CHECK-NEXT: "tokLen": 1
784 // CHECK-NEXT: }
785 // CHECK-NEXT: },
786 // CHECK-NEXT: "type": {
787 // CHECK-NEXT: "qualType": "const A"
788 // CHECK-NEXT: },
789 // CHECK-NEXT: "valueCategory": "lvalue",
790 // CHECK-NEXT: "extendingDecl": {
791 // CHECK-NEXT: "id": "0x{{.*}}",
792 // CHECK-NEXT: "kind": "VarDecl",
793 // CHECK-NEXT: "name": "b",
794 // CHECK-NEXT: "type": {
795 // CHECK-NEXT: "qualType": "B"
796 // CHECK-NEXT: }
797 // CHECK-NEXT: },
798 // CHECK-NEXT: "storageDuration": "automatic",
799 // CHECK-NEXT: "boundToLValueRef": true,
800 // CHECK-NEXT: "inner": [
801 // CHECK-NEXT: {
802 // CHECK-NEXT: "id": "0x{{.*}}",
803 // CHECK-NEXT: "kind": "ImplicitCastExpr",
804 // CHECK-NEXT: "range": {
805 // CHECK-NEXT: "begin": {
806 // CHECK-NEXT: "offset": 147,
807 // CHECK-NEXT: "col": 16,
808 // CHECK-NEXT: "tokLen": 1
809 // CHECK-NEXT: },
810 // CHECK-NEXT: "end": {
811 // CHECK-NEXT: "offset": 152,
812 // CHECK-NEXT: "col": 21,
813 // CHECK-NEXT: "tokLen": 1
814 // CHECK-NEXT: }
815 // CHECK-NEXT: },
816 // CHECK-NEXT: "type": {
817 // CHECK-NEXT: "qualType": "const A"
818 // CHECK-NEXT: },
819 // CHECK-NEXT: "valueCategory": "prvalue",
820 // CHECK-NEXT: "castKind": "NoOp",
821 // CHECK-NEXT: "inner": [
822 // CHECK-NEXT: {
823 // CHECK-NEXT: "id": "0x{{.*}}",
824 // CHECK-NEXT: "kind": "CXXFunctionalCastExpr",
825 // CHECK-NEXT: "range": {
826 // CHECK-NEXT: "begin": {
827 // CHECK-NEXT: "offset": 147,
828 // CHECK-NEXT: "col": 16,
829 // CHECK-NEXT: "tokLen": 1
830 // CHECK-NEXT: },
831 // CHECK-NEXT: "end": {
832 // CHECK-NEXT: "offset": 152,
833 // CHECK-NEXT: "col": 21,
834 // CHECK-NEXT: "tokLen": 1
835 // CHECK-NEXT: }
836 // CHECK-NEXT: },
837 // CHECK-NEXT: "type": {
838 // CHECK-NEXT: "qualType": "A"
839 // CHECK-NEXT: },
840 // CHECK-NEXT: "valueCategory": "prvalue",
841 // CHECK-NEXT: "castKind": "NoOp",
842 // CHECK-NEXT: "inner": [
843 // CHECK-NEXT: {
844 // CHECK-NEXT: "id": "0x{{.*}}",
845 // CHECK-NEXT: "kind": "InitListExpr",
846 // CHECK-NEXT: "range": {
847 // CHECK-NEXT: "begin": {
848 // CHECK-NEXT: "offset": 148,
849 // CHECK-NEXT: "col": 17,
850 // CHECK-NEXT: "tokLen": 1
851 // CHECK-NEXT: },
852 // CHECK-NEXT: "end": {
853 // CHECK-NEXT: "offset": 152,
854 // CHECK-NEXT: "col": 21,
855 // CHECK-NEXT: "tokLen": 1
856 // CHECK-NEXT: }
857 // CHECK-NEXT: },
858 // CHECK-NEXT: "type": {
859 // CHECK-NEXT: "qualType": "A"
860 // CHECK-NEXT: },
861 // CHECK-NEXT: "valueCategory": "prvalue",
862 // CHECK-NEXT: "inner": [
863 // CHECK-NEXT: {
864 // CHECK-NEXT: "id": "0x{{.*}}",
865 // CHECK-NEXT: "kind": "InitListExpr",
866 // CHECK-NEXT: "range": {
867 // CHECK-NEXT: "begin": {
868 // CHECK-NEXT: "offset": 149,
869 // CHECK-NEXT: "col": 18,
870 // CHECK-NEXT: "tokLen": 1
871 // CHECK-NEXT: },
872 // CHECK-NEXT: "end": {
873 // CHECK-NEXT: "offset": 151,
874 // CHECK-NEXT: "col": 20,
875 // CHECK-NEXT: "tokLen": 1
876 // CHECK-NEXT: }
877 // CHECK-NEXT: },
878 // CHECK-NEXT: "type": {
879 // CHECK-NEXT: "qualType": "int[1]"
880 // CHECK-NEXT: },
881 // CHECK-NEXT: "valueCategory": "prvalue",
882 // CHECK-NEXT: "inner": [
883 // CHECK-NEXT: {
884 // CHECK-NEXT: "id": "0x{{.*}}",
885 // CHECK-NEXT: "kind": "IntegerLiteral",
886 // CHECK-NEXT: "range": {
887 // CHECK-NEXT: "begin": {
888 // CHECK-NEXT: "offset": 150,
889 // CHECK-NEXT: "col": 19,
890 // CHECK-NEXT: "tokLen": 1
891 // CHECK-NEXT: },
892 // CHECK-NEXT: "end": {
893 // CHECK-NEXT: "offset": 150,
894 // CHECK-NEXT: "col": 19,
895 // CHECK-NEXT: "tokLen": 1
896 // CHECK-NEXT: }
897 // CHECK-NEXT: },
898 // CHECK-NEXT: "type": {
899 // CHECK-NEXT: "qualType": "int"
900 // CHECK-NEXT: },
901 // CHECK-NEXT: "valueCategory": "prvalue",
902 // CHECK-NEXT: "value": "0"
903 // CHECK-NEXT: }
904 // CHECK-NEXT: ]
905 // CHECK-NEXT: }
906 // CHECK-NEXT: ]
907 // CHECK-NEXT: }
908 // CHECK-NEXT: ]
909 // CHECK-NEXT: }
910 // CHECK-NEXT: ]
911 // CHECK-NEXT: }
912 // CHECK-NEXT: ]
913 // CHECK-NEXT: }
914 // CHECK-NEXT: ]
915 // CHECK-NEXT: }
916 // CHECK-NEXT: ]
917 // CHECK-NEXT: }
918 // CHECK-NEXT: ]
919 // CHECK-NEXT: }
920 // CHECK-NEXT: ]
921 // CHECK-NEXT: }
922 // CHECK-NEXT: ]
923 // CHECK-NEXT: }
924 // CHECK-NEXT: ]
925 // CHECK-NEXT: }
926 // CHECK-NEXT: ]
927 // CHECK-NEXT: }
928 // CHECK-NEXT: ]
929 // CHECK-NEXT: }