Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / AST / multistep-explicit-cast-json.c
blobfd77bbdcbba80debf2532c212fbe1f4f7c3b637f
1 // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsyntax-only -ast-dump=json %s | FileCheck %s
3 unsigned char implicitcast_0(unsigned int x) {
4 return x;
7 signed char implicitcast_1(unsigned int x) {
8 return x;
11 unsigned char implicitcast_2(signed int x) {
12 return x;
15 signed char implicitcast_3(signed int x) {
16 return x;
19 //----------------------------------------------------------------------------//
21 unsigned char cstylecast_0(unsigned int x) {
22 return (unsigned char)x;
25 signed char cstylecast_1(unsigned int x) {
26 return (signed char)x;
29 unsigned char cstylecast_2(signed int x) {
30 return (unsigned char)x;
33 signed char cstylecast_3(signed int x) {
34 return (signed char)x;
37 // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
38 // using --filters=ImplicitCastExpr,CStyleCastExpr
40 // CHECK: "kind": "ImplicitCastExpr",
41 // CHECK-NEXT: "range": {
42 // CHECK-NEXT: "begin": {
43 // CHECK-NEXT: "offset": {{[0-9]+}},
44 // CHECK-NEXT: "col": 10,
45 // CHECK-NEXT: "tokLen": 1
46 // CHECK-NEXT: },
47 // CHECK-NEXT: "end": {
48 // CHECK-NEXT: "offset": {{[0-9]+}},
49 // CHECK-NEXT: "col": 10,
50 // CHECK-NEXT: "tokLen": 1
51 // CHECK-NEXT: }
52 // CHECK-NEXT: },
53 // CHECK-NEXT: "type": {
54 // CHECK-NEXT: "qualType": "unsigned char"
55 // CHECK-NEXT: },
56 // CHECK-NEXT: "valueCategory": "prvalue",
57 // CHECK-NEXT: "castKind": "IntegralCast",
58 // CHECK-NEXT: "inner": [
59 // CHECK-NEXT: {
60 // CHECK-NEXT: "id": "0x{{.*}}",
61 // CHECK-NEXT: "kind": "ImplicitCastExpr",
62 // CHECK-NEXT: "range": {
63 // CHECK-NEXT: "begin": {
64 // CHECK-NEXT: "offset": {{[0-9]+}},
65 // CHECK-NEXT: "col": 10,
66 // CHECK-NEXT: "tokLen": 1
67 // CHECK-NEXT: },
68 // CHECK-NEXT: "end": {
69 // CHECK-NEXT: "offset": {{[0-9]+}},
70 // CHECK-NEXT: "col": 10,
71 // CHECK-NEXT: "tokLen": 1
72 // CHECK-NEXT: }
73 // CHECK-NEXT: },
74 // CHECK-NEXT: "type": {
75 // CHECK-NEXT: "qualType": "unsigned int"
76 // CHECK-NEXT: },
77 // CHECK-NEXT: "valueCategory": "prvalue",
78 // CHECK-NEXT: "castKind": "LValueToRValue",
79 // CHECK-NEXT: "inner": [
80 // CHECK-NEXT: {
81 // CHECK-NEXT: "id": "0x{{.*}}",
82 // CHECK-NEXT: "kind": "DeclRefExpr",
83 // CHECK-NEXT: "range": {
84 // CHECK-NEXT: "begin": {
85 // CHECK-NEXT: "offset": {{[0-9]+}},
86 // CHECK-NEXT: "col": 10,
87 // CHECK-NEXT: "tokLen": 1
88 // CHECK-NEXT: },
89 // CHECK-NEXT: "end": {
90 // CHECK-NEXT: "offset": {{[0-9]+}},
91 // CHECK-NEXT: "col": 10,
92 // CHECK-NEXT: "tokLen": 1
93 // CHECK-NEXT: }
94 // CHECK-NEXT: },
95 // CHECK-NEXT: "type": {
96 // CHECK-NEXT: "qualType": "unsigned int"
97 // CHECK-NEXT: },
98 // CHECK-NEXT: "valueCategory": "lvalue",
99 // CHECK-NEXT: "referencedDecl": {
100 // CHECK-NEXT: "id": "0x{{.*}}",
101 // CHECK-NEXT: "kind": "ParmVarDecl",
102 // CHECK-NEXT: "name": "x",
103 // CHECK-NEXT: "type": {
104 // CHECK-NEXT: "qualType": "unsigned int"
105 // CHECK-NEXT: }
106 // CHECK-NEXT: }
107 // CHECK-NEXT: }
108 // CHECK-NEXT: ]
109 // CHECK-NEXT: }
110 // CHECK-NEXT: ]
111 // CHECK-NEXT: }
113 // CHECK: "kind": "ImplicitCastExpr",
114 // CHECK-NEXT: "range": {
115 // CHECK-NEXT: "begin": {
116 // CHECK-NEXT: "offset": {{[0-9]+}},
117 // CHECK-NEXT: "col": 10,
118 // CHECK-NEXT: "tokLen": 1
119 // CHECK-NEXT: },
120 // CHECK-NEXT: "end": {
121 // CHECK-NEXT: "offset": {{[0-9]+}},
122 // CHECK-NEXT: "col": 10,
123 // CHECK-NEXT: "tokLen": 1
124 // CHECK-NEXT: }
125 // CHECK-NEXT: },
126 // CHECK-NEXT: "type": {
127 // CHECK-NEXT: "qualType": "signed char"
128 // CHECK-NEXT: },
129 // CHECK-NEXT: "valueCategory": "prvalue",
130 // CHECK-NEXT: "castKind": "IntegralCast",
131 // CHECK-NEXT: "inner": [
132 // CHECK-NEXT: {
133 // CHECK-NEXT: "id": "0x{{.*}}",
134 // CHECK-NEXT: "kind": "ImplicitCastExpr",
135 // CHECK-NEXT: "range": {
136 // CHECK-NEXT: "begin": {
137 // CHECK-NEXT: "offset": {{[0-9]+}},
138 // CHECK-NEXT: "col": 10,
139 // CHECK-NEXT: "tokLen": 1
140 // CHECK-NEXT: },
141 // CHECK-NEXT: "end": {
142 // CHECK-NEXT: "offset": {{[0-9]+}},
143 // CHECK-NEXT: "col": 10,
144 // CHECK-NEXT: "tokLen": 1
145 // CHECK-NEXT: }
146 // CHECK-NEXT: },
147 // CHECK-NEXT: "type": {
148 // CHECK-NEXT: "qualType": "unsigned int"
149 // CHECK-NEXT: },
150 // CHECK-NEXT: "valueCategory": "prvalue",
151 // CHECK-NEXT: "castKind": "LValueToRValue",
152 // CHECK-NEXT: "inner": [
153 // CHECK-NEXT: {
154 // CHECK-NEXT: "id": "0x{{.*}}",
155 // CHECK-NEXT: "kind": "DeclRefExpr",
156 // CHECK-NEXT: "range": {
157 // CHECK-NEXT: "begin": {
158 // CHECK-NEXT: "offset": {{[0-9]+}},
159 // CHECK-NEXT: "col": 10,
160 // CHECK-NEXT: "tokLen": 1
161 // CHECK-NEXT: },
162 // CHECK-NEXT: "end": {
163 // CHECK-NEXT: "offset": {{[0-9]+}},
164 // CHECK-NEXT: "col": 10,
165 // CHECK-NEXT: "tokLen": 1
166 // CHECK-NEXT: }
167 // CHECK-NEXT: },
168 // CHECK-NEXT: "type": {
169 // CHECK-NEXT: "qualType": "unsigned int"
170 // CHECK-NEXT: },
171 // CHECK-NEXT: "valueCategory": "lvalue",
172 // CHECK-NEXT: "referencedDecl": {
173 // CHECK-NEXT: "id": "0x{{.*}}",
174 // CHECK-NEXT: "kind": "ParmVarDecl",
175 // CHECK-NEXT: "name": "x",
176 // CHECK-NEXT: "type": {
177 // CHECK-NEXT: "qualType": "unsigned int"
178 // CHECK-NEXT: }
179 // CHECK-NEXT: }
180 // CHECK-NEXT: }
181 // CHECK-NEXT: ]
182 // CHECK-NEXT: }
183 // CHECK-NEXT: ]
184 // CHECK-NEXT: }
186 // CHECK: "kind": "ImplicitCastExpr",
187 // CHECK-NEXT: "range": {
188 // CHECK-NEXT: "begin": {
189 // CHECK-NEXT: "offset": {{[0-9]+}},
190 // CHECK-NEXT: "col": 10,
191 // CHECK-NEXT: "tokLen": 1
192 // CHECK-NEXT: },
193 // CHECK-NEXT: "end": {
194 // CHECK-NEXT: "offset": {{[0-9]+}},
195 // CHECK-NEXT: "col": 10,
196 // CHECK-NEXT: "tokLen": 1
197 // CHECK-NEXT: }
198 // CHECK-NEXT: },
199 // CHECK-NEXT: "type": {
200 // CHECK-NEXT: "qualType": "unsigned char"
201 // CHECK-NEXT: },
202 // CHECK-NEXT: "valueCategory": "prvalue",
203 // CHECK-NEXT: "castKind": "IntegralCast",
204 // CHECK-NEXT: "inner": [
205 // CHECK-NEXT: {
206 // CHECK-NEXT: "id": "0x{{.*}}",
207 // CHECK-NEXT: "kind": "ImplicitCastExpr",
208 // CHECK-NEXT: "range": {
209 // CHECK-NEXT: "begin": {
210 // CHECK-NEXT: "offset": {{[0-9]+}},
211 // CHECK-NEXT: "col": 10,
212 // CHECK-NEXT: "tokLen": 1
213 // CHECK-NEXT: },
214 // CHECK-NEXT: "end": {
215 // CHECK-NEXT: "offset": {{[0-9]+}},
216 // CHECK-NEXT: "col": 10,
217 // CHECK-NEXT: "tokLen": 1
218 // CHECK-NEXT: }
219 // CHECK-NEXT: },
220 // CHECK-NEXT: "type": {
221 // CHECK-NEXT: "qualType": "int"
222 // CHECK-NEXT: },
223 // CHECK-NEXT: "valueCategory": "prvalue",
224 // CHECK-NEXT: "castKind": "LValueToRValue",
225 // CHECK-NEXT: "inner": [
226 // CHECK-NEXT: {
227 // CHECK-NEXT: "id": "0x{{.*}}",
228 // CHECK-NEXT: "kind": "DeclRefExpr",
229 // CHECK-NEXT: "range": {
230 // CHECK-NEXT: "begin": {
231 // CHECK-NEXT: "offset": {{[0-9]+}},
232 // CHECK-NEXT: "col": 10,
233 // CHECK-NEXT: "tokLen": 1
234 // CHECK-NEXT: },
235 // CHECK-NEXT: "end": {
236 // CHECK-NEXT: "offset": {{[0-9]+}},
237 // CHECK-NEXT: "col": 10,
238 // CHECK-NEXT: "tokLen": 1
239 // CHECK-NEXT: }
240 // CHECK-NEXT: },
241 // CHECK-NEXT: "type": {
242 // CHECK-NEXT: "qualType": "int"
243 // CHECK-NEXT: },
244 // CHECK-NEXT: "valueCategory": "lvalue",
245 // CHECK-NEXT: "referencedDecl": {
246 // CHECK-NEXT: "id": "0x{{.*}}",
247 // CHECK-NEXT: "kind": "ParmVarDecl",
248 // CHECK-NEXT: "name": "x",
249 // CHECK-NEXT: "type": {
250 // CHECK-NEXT: "qualType": "int"
251 // CHECK-NEXT: }
252 // CHECK-NEXT: }
253 // CHECK-NEXT: }
254 // CHECK-NEXT: ]
255 // CHECK-NEXT: }
256 // CHECK-NEXT: ]
257 // CHECK-NEXT: }
259 // CHECK: "kind": "ImplicitCastExpr",
260 // CHECK-NEXT: "range": {
261 // CHECK-NEXT: "begin": {
262 // CHECK-NEXT: "offset": {{[0-9]+}},
263 // CHECK-NEXT: "col": 10,
264 // CHECK-NEXT: "tokLen": 1
265 // CHECK-NEXT: },
266 // CHECK-NEXT: "end": {
267 // CHECK-NEXT: "offset": {{[0-9]+}},
268 // CHECK-NEXT: "col": 10,
269 // CHECK-NEXT: "tokLen": 1
270 // CHECK-NEXT: }
271 // CHECK-NEXT: },
272 // CHECK-NEXT: "type": {
273 // CHECK-NEXT: "qualType": "signed char"
274 // CHECK-NEXT: },
275 // CHECK-NEXT: "valueCategory": "prvalue",
276 // CHECK-NEXT: "castKind": "IntegralCast",
277 // CHECK-NEXT: "inner": [
278 // CHECK-NEXT: {
279 // CHECK-NEXT: "id": "0x{{.*}}",
280 // CHECK-NEXT: "kind": "ImplicitCastExpr",
281 // CHECK-NEXT: "range": {
282 // CHECK-NEXT: "begin": {
283 // CHECK-NEXT: "offset": {{[0-9]+}},
284 // CHECK-NEXT: "col": 10,
285 // CHECK-NEXT: "tokLen": 1
286 // CHECK-NEXT: },
287 // CHECK-NEXT: "end": {
288 // CHECK-NEXT: "offset": {{[0-9]+}},
289 // CHECK-NEXT: "col": 10,
290 // CHECK-NEXT: "tokLen": 1
291 // CHECK-NEXT: }
292 // CHECK-NEXT: },
293 // CHECK-NEXT: "type": {
294 // CHECK-NEXT: "qualType": "int"
295 // CHECK-NEXT: },
296 // CHECK-NEXT: "valueCategory": "prvalue",
297 // CHECK-NEXT: "castKind": "LValueToRValue",
298 // CHECK-NEXT: "inner": [
299 // CHECK-NEXT: {
300 // CHECK-NEXT: "id": "0x{{.*}}",
301 // CHECK-NEXT: "kind": "DeclRefExpr",
302 // CHECK-NEXT: "range": {
303 // CHECK-NEXT: "begin": {
304 // CHECK-NEXT: "offset": {{[0-9]+}},
305 // CHECK-NEXT: "col": 10,
306 // CHECK-NEXT: "tokLen": 1
307 // CHECK-NEXT: },
308 // CHECK-NEXT: "end": {
309 // CHECK-NEXT: "offset": {{[0-9]+}},
310 // CHECK-NEXT: "col": 10,
311 // CHECK-NEXT: "tokLen": 1
312 // CHECK-NEXT: }
313 // CHECK-NEXT: },
314 // CHECK-NEXT: "type": {
315 // CHECK-NEXT: "qualType": "int"
316 // CHECK-NEXT: },
317 // CHECK-NEXT: "valueCategory": "lvalue",
318 // CHECK-NEXT: "referencedDecl": {
319 // CHECK-NEXT: "id": "0x{{.*}}",
320 // CHECK-NEXT: "kind": "ParmVarDecl",
321 // CHECK-NEXT: "name": "x",
322 // CHECK-NEXT: "type": {
323 // CHECK-NEXT: "qualType": "int"
324 // CHECK-NEXT: }
325 // CHECK-NEXT: }
326 // CHECK-NEXT: }
327 // CHECK-NEXT: ]
328 // CHECK-NEXT: }
329 // CHECK-NEXT: ]
330 // CHECK-NEXT: }
332 // CHECK: "kind": "CStyleCastExpr",
333 // CHECK-NEXT: "range": {
334 // CHECK-NEXT: "begin": {
335 // CHECK-NEXT: "offset": {{[0-9]+}},
336 // CHECK-NEXT: "col": 10,
337 // CHECK-NEXT: "tokLen": 1
338 // CHECK-NEXT: },
339 // CHECK-NEXT: "end": {
340 // CHECK-NEXT: "offset": {{[0-9]+}},
341 // CHECK-NEXT: "col": 25,
342 // CHECK-NEXT: "tokLen": 1
343 // CHECK-NEXT: }
344 // CHECK-NEXT: },
345 // CHECK-NEXT: "type": {
346 // CHECK-NEXT: "qualType": "unsigned char"
347 // CHECK-NEXT: },
348 // CHECK-NEXT: "valueCategory": "prvalue",
349 // CHECK-NEXT: "castKind": "IntegralCast",
350 // CHECK-NEXT: "inner": [
351 // CHECK-NEXT: {
352 // CHECK-NEXT: "id": "0x{{.*}}",
353 // CHECK-NEXT: "kind": "ImplicitCastExpr",
354 // CHECK-NEXT: "range": {
355 // CHECK-NEXT: "begin": {
356 // CHECK-NEXT: "offset": {{[0-9]+}},
357 // CHECK-NEXT: "col": 25,
358 // CHECK-NEXT: "tokLen": 1
359 // CHECK-NEXT: },
360 // CHECK-NEXT: "end": {
361 // CHECK-NEXT: "offset": {{[0-9]+}},
362 // CHECK-NEXT: "col": 25,
363 // CHECK-NEXT: "tokLen": 1
364 // CHECK-NEXT: }
365 // CHECK-NEXT: },
366 // CHECK-NEXT: "type": {
367 // CHECK-NEXT: "qualType": "unsigned int"
368 // CHECK-NEXT: },
369 // CHECK-NEXT: "valueCategory": "prvalue",
370 // CHECK-NEXT: "castKind": "LValueToRValue",
371 // CHECK-NEXT: "isPartOfExplicitCast": true,
372 // CHECK-NEXT: "inner": [
373 // CHECK-NEXT: {
374 // CHECK-NEXT: "id": "0x{{.*}}",
375 // CHECK-NEXT: "kind": "DeclRefExpr",
376 // CHECK-NEXT: "range": {
377 // CHECK-NEXT: "begin": {
378 // CHECK-NEXT: "offset": {{[0-9]+}},
379 // CHECK-NEXT: "col": 25,
380 // CHECK-NEXT: "tokLen": 1
381 // CHECK-NEXT: },
382 // CHECK-NEXT: "end": {
383 // CHECK-NEXT: "offset": {{[0-9]+}},
384 // CHECK-NEXT: "col": 25,
385 // CHECK-NEXT: "tokLen": 1
386 // CHECK-NEXT: }
387 // CHECK-NEXT: },
388 // CHECK-NEXT: "type": {
389 // CHECK-NEXT: "qualType": "unsigned int"
390 // CHECK-NEXT: },
391 // CHECK-NEXT: "valueCategory": "lvalue",
392 // CHECK-NEXT: "referencedDecl": {
393 // CHECK-NEXT: "id": "0x{{.*}}",
394 // CHECK-NEXT: "kind": "ParmVarDecl",
395 // CHECK-NEXT: "name": "x",
396 // CHECK-NEXT: "type": {
397 // CHECK-NEXT: "qualType": "unsigned int"
398 // CHECK-NEXT: }
399 // CHECK-NEXT: }
400 // CHECK-NEXT: }
401 // CHECK-NEXT: ]
402 // CHECK-NEXT: }
403 // CHECK-NEXT: ]
404 // CHECK-NEXT: }
406 // CHECK: "kind": "CStyleCastExpr",
407 // CHECK-NEXT: "range": {
408 // CHECK-NEXT: "begin": {
409 // CHECK-NEXT: "offset": {{[0-9]+}},
410 // CHECK-NEXT: "col": 10,
411 // CHECK-NEXT: "tokLen": 1
412 // CHECK-NEXT: },
413 // CHECK-NEXT: "end": {
414 // CHECK-NEXT: "offset": {{[0-9]+}},
415 // CHECK-NEXT: "col": 23,
416 // CHECK-NEXT: "tokLen": 1
417 // CHECK-NEXT: }
418 // CHECK-NEXT: },
419 // CHECK-NEXT: "type": {
420 // CHECK-NEXT: "qualType": "signed char"
421 // CHECK-NEXT: },
422 // CHECK-NEXT: "valueCategory": "prvalue",
423 // CHECK-NEXT: "castKind": "IntegralCast",
424 // CHECK-NEXT: "inner": [
425 // CHECK-NEXT: {
426 // CHECK-NEXT: "id": "0x{{.*}}",
427 // CHECK-NEXT: "kind": "ImplicitCastExpr",
428 // CHECK-NEXT: "range": {
429 // CHECK-NEXT: "begin": {
430 // CHECK-NEXT: "offset": {{[0-9]+}},
431 // CHECK-NEXT: "col": 23,
432 // CHECK-NEXT: "tokLen": 1
433 // CHECK-NEXT: },
434 // CHECK-NEXT: "end": {
435 // CHECK-NEXT: "offset": {{[0-9]+}},
436 // CHECK-NEXT: "col": 23,
437 // CHECK-NEXT: "tokLen": 1
438 // CHECK-NEXT: }
439 // CHECK-NEXT: },
440 // CHECK-NEXT: "type": {
441 // CHECK-NEXT: "qualType": "unsigned int"
442 // CHECK-NEXT: },
443 // CHECK-NEXT: "valueCategory": "prvalue",
444 // CHECK-NEXT: "castKind": "LValueToRValue",
445 // CHECK-NEXT: "isPartOfExplicitCast": true,
446 // CHECK-NEXT: "inner": [
447 // CHECK-NEXT: {
448 // CHECK-NEXT: "id": "0x{{.*}}",
449 // CHECK-NEXT: "kind": "DeclRefExpr",
450 // CHECK-NEXT: "range": {
451 // CHECK-NEXT: "begin": {
452 // CHECK-NEXT: "offset": {{[0-9]+}},
453 // CHECK-NEXT: "col": 23,
454 // CHECK-NEXT: "tokLen": 1
455 // CHECK-NEXT: },
456 // CHECK-NEXT: "end": {
457 // CHECK-NEXT: "offset": {{[0-9]+}},
458 // CHECK-NEXT: "col": 23,
459 // CHECK-NEXT: "tokLen": 1
460 // CHECK-NEXT: }
461 // CHECK-NEXT: },
462 // CHECK-NEXT: "type": {
463 // CHECK-NEXT: "qualType": "unsigned int"
464 // CHECK-NEXT: },
465 // CHECK-NEXT: "valueCategory": "lvalue",
466 // CHECK-NEXT: "referencedDecl": {
467 // CHECK-NEXT: "id": "0x{{.*}}",
468 // CHECK-NEXT: "kind": "ParmVarDecl",
469 // CHECK-NEXT: "name": "x",
470 // CHECK-NEXT: "type": {
471 // CHECK-NEXT: "qualType": "unsigned int"
472 // CHECK-NEXT: }
473 // CHECK-NEXT: }
474 // CHECK-NEXT: }
475 // CHECK-NEXT: ]
476 // CHECK-NEXT: }
477 // CHECK-NEXT: ]
478 // CHECK-NEXT: }
480 // CHECK: "kind": "CStyleCastExpr",
481 // CHECK-NEXT: "range": {
482 // CHECK-NEXT: "begin": {
483 // CHECK-NEXT: "offset": {{[0-9]+}},
484 // CHECK-NEXT: "col": 10,
485 // CHECK-NEXT: "tokLen": 1
486 // CHECK-NEXT: },
487 // CHECK-NEXT: "end": {
488 // CHECK-NEXT: "offset": {{[0-9]+}},
489 // CHECK-NEXT: "col": 25,
490 // CHECK-NEXT: "tokLen": 1
491 // CHECK-NEXT: }
492 // CHECK-NEXT: },
493 // CHECK-NEXT: "type": {
494 // CHECK-NEXT: "qualType": "unsigned char"
495 // CHECK-NEXT: },
496 // CHECK-NEXT: "valueCategory": "prvalue",
497 // CHECK-NEXT: "castKind": "IntegralCast",
498 // CHECK-NEXT: "inner": [
499 // CHECK-NEXT: {
500 // CHECK-NEXT: "id": "0x{{.*}}",
501 // CHECK-NEXT: "kind": "ImplicitCastExpr",
502 // CHECK-NEXT: "range": {
503 // CHECK-NEXT: "begin": {
504 // CHECK-NEXT: "offset": {{[0-9]+}},
505 // CHECK-NEXT: "col": 25,
506 // CHECK-NEXT: "tokLen": 1
507 // CHECK-NEXT: },
508 // CHECK-NEXT: "end": {
509 // CHECK-NEXT: "offset": {{[0-9]+}},
510 // CHECK-NEXT: "col": 25,
511 // CHECK-NEXT: "tokLen": 1
512 // CHECK-NEXT: }
513 // CHECK-NEXT: },
514 // CHECK-NEXT: "type": {
515 // CHECK-NEXT: "qualType": "int"
516 // CHECK-NEXT: },
517 // CHECK-NEXT: "valueCategory": "prvalue",
518 // CHECK-NEXT: "castKind": "LValueToRValue",
519 // CHECK-NEXT: "isPartOfExplicitCast": true,
520 // CHECK-NEXT: "inner": [
521 // CHECK-NEXT: {
522 // CHECK-NEXT: "id": "0x{{.*}}",
523 // CHECK-NEXT: "kind": "DeclRefExpr",
524 // CHECK-NEXT: "range": {
525 // CHECK-NEXT: "begin": {
526 // CHECK-NEXT: "offset": {{[0-9]+}},
527 // CHECK-NEXT: "col": 25,
528 // CHECK-NEXT: "tokLen": 1
529 // CHECK-NEXT: },
530 // CHECK-NEXT: "end": {
531 // CHECK-NEXT: "offset": {{[0-9]+}},
532 // CHECK-NEXT: "col": 25,
533 // CHECK-NEXT: "tokLen": 1
534 // CHECK-NEXT: }
535 // CHECK-NEXT: },
536 // CHECK-NEXT: "type": {
537 // CHECK-NEXT: "qualType": "int"
538 // CHECK-NEXT: },
539 // CHECK-NEXT: "valueCategory": "lvalue",
540 // CHECK-NEXT: "referencedDecl": {
541 // CHECK-NEXT: "id": "0x{{.*}}",
542 // CHECK-NEXT: "kind": "ParmVarDecl",
543 // CHECK-NEXT: "name": "x",
544 // CHECK-NEXT: "type": {
545 // CHECK-NEXT: "qualType": "int"
546 // CHECK-NEXT: }
547 // CHECK-NEXT: }
548 // CHECK-NEXT: }
549 // CHECK-NEXT: ]
550 // CHECK-NEXT: }
551 // CHECK-NEXT: ]
552 // CHECK-NEXT: }
554 // CHECK: "kind": "CStyleCastExpr",
555 // CHECK-NEXT: "range": {
556 // CHECK-NEXT: "begin": {
557 // CHECK-NEXT: "offset": {{[0-9]+}},
558 // CHECK-NEXT: "col": 10,
559 // CHECK-NEXT: "tokLen": 1
560 // CHECK-NEXT: },
561 // CHECK-NEXT: "end": {
562 // CHECK-NEXT: "offset": {{[0-9]+}},
563 // CHECK-NEXT: "col": 23,
564 // CHECK-NEXT: "tokLen": 1
565 // CHECK-NEXT: }
566 // CHECK-NEXT: },
567 // CHECK-NEXT: "type": {
568 // CHECK-NEXT: "qualType": "signed char"
569 // CHECK-NEXT: },
570 // CHECK-NEXT: "valueCategory": "prvalue",
571 // CHECK-NEXT: "castKind": "IntegralCast",
572 // CHECK-NEXT: "inner": [
573 // CHECK-NEXT: {
574 // CHECK-NEXT: "id": "0x{{.*}}",
575 // CHECK-NEXT: "kind": "ImplicitCastExpr",
576 // CHECK-NEXT: "range": {
577 // CHECK-NEXT: "begin": {
578 // CHECK-NEXT: "offset": {{[0-9]+}},
579 // CHECK-NEXT: "col": 23,
580 // CHECK-NEXT: "tokLen": 1
581 // CHECK-NEXT: },
582 // CHECK-NEXT: "end": {
583 // CHECK-NEXT: "offset": {{[0-9]+}},
584 // CHECK-NEXT: "col": 23,
585 // CHECK-NEXT: "tokLen": 1
586 // CHECK-NEXT: }
587 // CHECK-NEXT: },
588 // CHECK-NEXT: "type": {
589 // CHECK-NEXT: "qualType": "int"
590 // CHECK-NEXT: },
591 // CHECK-NEXT: "valueCategory": "prvalue",
592 // CHECK-NEXT: "castKind": "LValueToRValue",
593 // CHECK-NEXT: "isPartOfExplicitCast": true,
594 // CHECK-NEXT: "inner": [
595 // CHECK-NEXT: {
596 // CHECK-NEXT: "id": "0x{{.*}}",
597 // CHECK-NEXT: "kind": "DeclRefExpr",
598 // CHECK-NEXT: "range": {
599 // CHECK-NEXT: "begin": {
600 // CHECK-NEXT: "offset": {{[0-9]+}},
601 // CHECK-NEXT: "col": 23,
602 // CHECK-NEXT: "tokLen": 1
603 // CHECK-NEXT: },
604 // CHECK-NEXT: "end": {
605 // CHECK-NEXT: "offset": {{[0-9]+}},
606 // CHECK-NEXT: "col": 23,
607 // CHECK-NEXT: "tokLen": 1
608 // CHECK-NEXT: }
609 // CHECK-NEXT: },
610 // CHECK-NEXT: "type": {
611 // CHECK-NEXT: "qualType": "int"
612 // CHECK-NEXT: },
613 // CHECK-NEXT: "valueCategory": "lvalue",
614 // CHECK-NEXT: "referencedDecl": {
615 // CHECK-NEXT: "id": "0x{{.*}}",
616 // CHECK-NEXT: "kind": "ParmVarDecl",
617 // CHECK-NEXT: "name": "x",
618 // CHECK-NEXT: "type": {
619 // CHECK-NEXT: "qualType": "int"
620 // CHECK-NEXT: }
621 // CHECK-NEXT: }
622 // CHECK-NEXT: }
623 // CHECK-NEXT: ]
624 // CHECK-NEXT: }
625 // CHECK-NEXT: ]
626 // CHECK-NEXT: }