1884 lines · c
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-strict-prototypes -ast-dump=json -ast-dump-filter Test %s | FileCheck %s2 3#include "Inputs/json-dump-include.h"4 5int TestLocation;6TestTypedefFromInclude TestLocationFromInclude;7 8struct TestIndent {9 int x;10};11 12struct TestChildren {13 int x;14 struct y {15 int z;16 };17};18 19void testLabelDecl(void) {20 __label__ TestLabelDecl;21 TestLabelDecl: goto TestLabelDecl;22}23 24typedef int TestTypedefDecl;25 26enum TestEnumDecl {27 testEnumDecl28};29 30struct TestEnumDeclAnon {31 enum {32 testEnumDeclAnon33 } e;34};35 36enum TestEnumDeclForward;37 38struct TestRecordDecl {39 int i;40};41 42struct TestRecordDeclEmpty {43};44 45struct TestRecordDeclAnon1 {46 struct {47 } testRecordDeclAnon1;48};49 50struct TestRecordDeclAnon2 {51 struct {52 };53};54 55struct TestRecordDeclForward;56 57enum testEnumConstantDecl {58 TestEnumConstantDecl,59 TestEnumConstantDeclInit = 160};61 62struct TestIndirectFieldDecl {63 struct {64 int Field;65 };66};67 68// FIXME: It would be nice to dump the enum and its enumerators.69int TestFunctionDecl(int x, enum { e } y) {70 return x;71}72 73// FIXME: It would be nice to dump 'Enum' and 'e'.74int TestFunctionDecl2(enum Enum { e } x) { return x; }75int TestFunctionDeclProto(int x);76void TestFunctionDeclNoProto();77extern int TestFunctionDeclSC(void);78inline int TestFunctionDeclInline(void);79 80struct testFieldDecl {81 int TestFieldDecl;82 int TestFieldDeclWidth : 1;83};84 85int TestVarDecl;86extern int TestVarDeclSC;87__thread int TestVarDeclThread;88int TestVarDeclInit = 0;89 90void testParmVarDecl(int TestParmVarDecl);91 92// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py93 94 95// CHECK-NOT: {{^}}Dumping96// CHECK: "kind": "TypedefDecl",97// CHECK-NEXT: "loc": {98// CHECK-NEXT: "offset": 12,99// CHECK-NEXT: "file": "{{.*}}",100// CHECK-NEXT: "line": 1,101// CHECK-NEXT: "col": 13,102// CHECK-NEXT: "tokLen": 22,103// CHECK-NEXT: "includedFrom": {104// CHECK-NEXT: "file": "{{.*}}"105// CHECK-NEXT: }106// CHECK-NEXT: },107// CHECK-NEXT: "range": {108// CHECK-NEXT: "begin": {109// CHECK-NEXT: "offset": 0,110// CHECK-NEXT: "col": 1,111// CHECK-NEXT: "tokLen": 7,112// CHECK-NEXT: "includedFrom": {113// CHECK-NEXT: "file": "{{.*}}"114// CHECK-NEXT: }115// CHECK-NEXT: },116// CHECK-NEXT: "end": {117// CHECK-NEXT: "offset": 12,118// CHECK-NEXT: "col": 13,119// CHECK-NEXT: "tokLen": 22,120// CHECK-NEXT: "includedFrom": {121// CHECK-NEXT: "file": "{{.*}}"122// CHECK-NEXT: }123// CHECK-NEXT: }124// CHECK-NEXT: },125// CHECK-NEXT: "isReferenced": true,126// CHECK-NEXT: "name": "TestTypedefFromInclude",127// CHECK-NEXT: "type": {128// CHECK-NEXT: "qualType": "int"129// CHECK-NEXT: },130// CHECK-NEXT: "inner": [131// CHECK-NEXT: {132// CHECK-NEXT: "id": "0x{{.*}}",133// CHECK-NEXT: "kind": "BuiltinType",134// CHECK-NEXT: "type": {135// CHECK-NEXT: "qualType": "int"136// CHECK-NEXT: }137// CHECK-NEXT: }138// CHECK-NEXT: ]139// CHECK-NEXT: }140 141 142// CHECK-NOT: {{^}}Dumping143// CHECK: "kind": "VarDecl",144// CHECK-NEXT: "loc": {145// CHECK-NEXT: "offset": 172,146// CHECK-NEXT: "file": "{{.*}}",147// CHECK-NEXT: "line": 5,148// CHECK-NEXT: "col": 5,149// CHECK-NEXT: "tokLen": 12150// CHECK-NEXT: },151// CHECK-NEXT: "range": {152// CHECK-NEXT: "begin": {153// CHECK-NEXT: "offset": 168,154// CHECK-NEXT: "col": 1,155// CHECK-NEXT: "tokLen": 3156// CHECK-NEXT: },157// CHECK-NEXT: "end": {158// CHECK-NEXT: "offset": 172,159// CHECK-NEXT: "col": 5,160// CHECK-NEXT: "tokLen": 12161// CHECK-NEXT: }162// CHECK-NEXT: },163// CHECK-NEXT: "name": "TestLocation",164// CHECK-NEXT: "mangledName": "TestLocation",165// CHECK-NEXT: "type": {166// CHECK-NEXT: "qualType": "int"167// CHECK-NEXT: }168// CHECK-NEXT: }169 170 171// CHECK-NOT: {{^}}Dumping172// CHECK: "kind": "VarDecl",173// CHECK-NEXT: "loc": {174// CHECK-NEXT: "offset": 209,175// CHECK-NEXT: "file": "{{.*}}",176// CHECK-NEXT: "line": 6,177// CHECK-NEXT: "col": 24,178// CHECK-NEXT: "tokLen": 23179// CHECK-NEXT: },180// CHECK-NEXT: "range": {181// CHECK-NEXT: "begin": {182// CHECK-NEXT: "offset": 186,183// CHECK-NEXT: "col": 1,184// CHECK-NEXT: "tokLen": 22185// CHECK-NEXT: },186// CHECK-NEXT: "end": {187// CHECK-NEXT: "offset": 209,188// CHECK-NEXT: "col": 24,189// CHECK-NEXT: "tokLen": 23190// CHECK-NEXT: }191// CHECK-NEXT: },192// CHECK-NEXT: "name": "TestLocationFromInclude",193// CHECK-NEXT: "mangledName": "TestLocationFromInclude",194// CHECK-NEXT: "type": {195// CHECK-NEXT: "desugaredQualType": "int",196// CHECK-NEXT: "qualType": "TestTypedefFromInclude",197// CHECK-NEXT: "typeAliasDeclId": "0x{{.*}}"198// CHECK-NEXT: }199// CHECK-NEXT: }200 201 202// CHECK-NOT: {{^}}Dumping203// CHECK: "kind": "RecordDecl",204// CHECK-NEXT: "loc": {205// CHECK-NEXT: "offset": 242,206// CHECK-NEXT: "file": "{{.*}}",207// CHECK-NEXT: "line": 8,208// CHECK-NEXT: "col": 8,209// CHECK-NEXT: "tokLen": 10210// CHECK-NEXT: },211// CHECK-NEXT: "range": {212// CHECK-NEXT: "begin": {213// CHECK-NEXT: "offset": 235,214// CHECK-NEXT: "col": 1,215// CHECK-NEXT: "tokLen": 6216// CHECK-NEXT: },217// CHECK-NEXT: "end": {218// CHECK-NEXT: "offset": 264,219// CHECK-NEXT: "line": 10,220// CHECK-NEXT: "col": 1,221// CHECK-NEXT: "tokLen": 1222// CHECK-NEXT: }223// CHECK-NEXT: },224// CHECK-NEXT: "name": "TestIndent",225// CHECK-NEXT: "tagUsed": "struct",226// CHECK-NEXT: "completeDefinition": true,227// CHECK-NEXT: "inner": [228// CHECK-NEXT: {229// CHECK-NEXT: "id": "0x{{.*}}",230// CHECK-NEXT: "kind": "FieldDecl",231// CHECK-NEXT: "loc": {232// CHECK-NEXT: "offset": 261,233// CHECK-NEXT: "line": 9,234// CHECK-NEXT: "col": 7,235// CHECK-NEXT: "tokLen": 1236// CHECK-NEXT: },237// CHECK-NEXT: "range": {238// CHECK-NEXT: "begin": {239// CHECK-NEXT: "offset": 257,240// CHECK-NEXT: "col": 3,241// CHECK-NEXT: "tokLen": 3242// CHECK-NEXT: },243// CHECK-NEXT: "end": {244// CHECK-NEXT: "offset": 261,245// CHECK-NEXT: "col": 7,246// CHECK-NEXT: "tokLen": 1247// CHECK-NEXT: }248// CHECK-NEXT: },249// CHECK-NEXT: "name": "x",250// CHECK-NEXT: "type": {251// CHECK-NEXT: "qualType": "int"252// CHECK-NEXT: }253// CHECK-NEXT: }254// CHECK-NEXT: ]255// CHECK-NEXT: }256 257 258// CHECK-NOT: {{^}}Dumping259// CHECK: "kind": "RecordDecl",260// CHECK-NEXT: "loc": {261// CHECK-NEXT: "offset": 275,262// CHECK-NEXT: "file": "{{.*}}",263// CHECK-NEXT: "line": 12,264// CHECK-NEXT: "col": 8,265// CHECK-NEXT: "tokLen": 12266// CHECK-NEXT: },267// CHECK-NEXT: "range": {268// CHECK-NEXT: "begin": {269// CHECK-NEXT: "offset": 268,270// CHECK-NEXT: "col": 1,271// CHECK-NEXT: "tokLen": 6272// CHECK-NEXT: },273// CHECK-NEXT: "end": {274// CHECK-NEXT: "offset": 328,275// CHECK-NEXT: "line": 17,276// CHECK-NEXT: "col": 1,277// CHECK-NEXT: "tokLen": 1278// CHECK-NEXT: }279// CHECK-NEXT: },280// CHECK-NEXT: "name": "TestChildren",281// CHECK-NEXT: "tagUsed": "struct",282// CHECK-NEXT: "completeDefinition": true,283// CHECK-NEXT: "inner": [284// CHECK-NEXT: {285// CHECK-NEXT: "id": "0x{{.*}}",286// CHECK-NEXT: "kind": "FieldDecl",287// CHECK-NEXT: "loc": {288// CHECK-NEXT: "offset": 296,289// CHECK-NEXT: "line": 13,290// CHECK-NEXT: "col": 7,291// CHECK-NEXT: "tokLen": 1292// CHECK-NEXT: },293// CHECK-NEXT: "range": {294// CHECK-NEXT: "begin": {295// CHECK-NEXT: "offset": 292,296// CHECK-NEXT: "col": 3,297// CHECK-NEXT: "tokLen": 3298// CHECK-NEXT: },299// CHECK-NEXT: "end": {300// CHECK-NEXT: "offset": 296,301// CHECK-NEXT: "col": 7,302// CHECK-NEXT: "tokLen": 1303// CHECK-NEXT: }304// CHECK-NEXT: },305// CHECK-NEXT: "name": "x",306// CHECK-NEXT: "type": {307// CHECK-NEXT: "qualType": "int"308// CHECK-NEXT: }309// CHECK-NEXT: },310// CHECK-NEXT: {311// CHECK-NEXT: "id": "0x{{.*}}",312// CHECK-NEXT: "kind": "RecordDecl",313// CHECK-NEXT: "loc": {314// CHECK-NEXT: "offset": 308,315// CHECK-NEXT: "line": 14,316// CHECK-NEXT: "col": 10,317// CHECK-NEXT: "tokLen": 1318// CHECK-NEXT: },319// CHECK-NEXT: "range": {320// CHECK-NEXT: "begin": {321// CHECK-NEXT: "offset": 301,322// CHECK-NEXT: "col": 3,323// CHECK-NEXT: "tokLen": 6324// CHECK-NEXT: },325// CHECK-NEXT: "end": {326// CHECK-NEXT: "offset": 325,327// CHECK-NEXT: "line": 16,328// CHECK-NEXT: "col": 3,329// CHECK-NEXT: "tokLen": 1330// CHECK-NEXT: }331// CHECK-NEXT: },332// CHECK-NEXT: "parentDeclContextId": "0x{{.*}}",333// CHECK-NEXT: "name": "y",334// CHECK-NEXT: "tagUsed": "struct",335// CHECK-NEXT: "completeDefinition": true,336// CHECK-NEXT: "inner": [337// CHECK-NEXT: {338// CHECK-NEXT: "id": "0x{{.*}}",339// CHECK-NEXT: "kind": "FieldDecl",340// CHECK-NEXT: "loc": {341// CHECK-NEXT: "offset": 320,342// CHECK-NEXT: "line": 15,343// CHECK-NEXT: "col": 9,344// CHECK-NEXT: "tokLen": 1345// CHECK-NEXT: },346// CHECK-NEXT: "range": {347// CHECK-NEXT: "begin": {348// CHECK-NEXT: "offset": 316,349// CHECK-NEXT: "col": 5,350// CHECK-NEXT: "tokLen": 3351// CHECK-NEXT: },352// CHECK-NEXT: "end": {353// CHECK-NEXT: "offset": 320,354// CHECK-NEXT: "col": 9,355// CHECK-NEXT: "tokLen": 1356// CHECK-NEXT: }357// CHECK-NEXT: },358// CHECK-NEXT: "name": "z",359// CHECK-NEXT: "type": {360// CHECK-NEXT: "qualType": "int"361// CHECK-NEXT: }362// CHECK-NEXT: }363// CHECK-NEXT: ]364// CHECK-NEXT: }365// CHECK-NEXT: ]366// CHECK-NEXT: }367 368 369// CHECK-NOT: {{^}}Dumping370// CHECK: "kind": "LabelDecl",371// CHECK-NEXT: "loc": {372// CHECK-NEXT: "offset": 371,373// CHECK-NEXT: "file": "{{.*}}",374// CHECK-NEXT: "line": 20,375// CHECK-NEXT: "col": 13,376// CHECK-NEXT: "tokLen": 13377// CHECK-NEXT: },378// CHECK-NEXT: "range": {379// CHECK-NEXT: "begin": {380// CHECK-NEXT: "offset": 361,381// CHECK-NEXT: "col": 3,382// CHECK-NEXT: "tokLen": 9383// CHECK-NEXT: },384// CHECK-NEXT: "end": {385// CHECK-NEXT: "offset": 371,386// CHECK-NEXT: "col": 13,387// CHECK-NEXT: "tokLen": 13388// CHECK-NEXT: }389// CHECK-NEXT: },390// CHECK-NEXT: "isUsed": true,391// CHECK-NEXT: "name": "TestLabelDecl"392// CHECK-NEXT: }393 394 395// CHECK-NOT: {{^}}Dumping396// CHECK: "kind": "TypedefDecl",397// CHECK-NEXT: "loc": {398// CHECK-NEXT: "offset": 438,399// CHECK-NEXT: "file": "{{.*}}",400// CHECK-NEXT: "line": 24,401// CHECK-NEXT: "col": 13,402// CHECK-NEXT: "tokLen": 15403// CHECK-NEXT: },404// CHECK-NEXT: "range": {405// CHECK-NEXT: "begin": {406// CHECK-NEXT: "offset": 426,407// CHECK-NEXT: "col": 1,408// CHECK-NEXT: "tokLen": 7409// CHECK-NEXT: },410// CHECK-NEXT: "end": {411// CHECK-NEXT: "offset": 438,412// CHECK-NEXT: "col": 13,413// CHECK-NEXT: "tokLen": 15414// CHECK-NEXT: }415// CHECK-NEXT: },416// CHECK-NEXT: "name": "TestTypedefDecl",417// CHECK-NEXT: "type": {418// CHECK-NEXT: "qualType": "int"419// CHECK-NEXT: },420// CHECK-NEXT: "inner": [421// CHECK-NEXT: {422// CHECK-NEXT: "id": "0x{{.*}}",423// CHECK-NEXT: "kind": "BuiltinType",424// CHECK-NEXT: "type": {425// CHECK-NEXT: "qualType": "int"426// CHECK-NEXT: }427// CHECK-NEXT: }428// CHECK-NEXT: ]429// CHECK-NEXT: }430 431 432// CHECK-NOT: {{^}}Dumping433// CHECK: "kind": "EnumDecl",434// CHECK-NEXT: "loc": {435// CHECK-NEXT: "offset": 461,436// CHECK-NEXT: "file": "{{.*}}",437// CHECK-NEXT: "line": 26,438// CHECK-NEXT: "col": 6,439// CHECK-NEXT: "tokLen": 12440// CHECK-NEXT: },441// CHECK-NEXT: "range": {442// CHECK-NEXT: "begin": {443// CHECK-NEXT: "offset": 456,444// CHECK-NEXT: "col": 1,445// CHECK-NEXT: "tokLen": 4446// CHECK-NEXT: },447// CHECK-NEXT: "end": {448// CHECK-NEXT: "offset": 491,449// CHECK-NEXT: "line": 28,450// CHECK-NEXT: "col": 1,451// CHECK-NEXT: "tokLen": 1452// CHECK-NEXT: }453// CHECK-NEXT: },454// CHECK-NEXT: "name": "TestEnumDecl",455// CHECK-NEXT: "inner": [456// CHECK-NEXT: {457// CHECK-NEXT: "id": "0x{{.*}}",458// CHECK-NEXT: "kind": "EnumConstantDecl",459// CHECK-NEXT: "loc": {460// CHECK-NEXT: "offset": 478,461// CHECK-NEXT: "line": 27,462// CHECK-NEXT: "col": 3,463// CHECK-NEXT: "tokLen": 12464// CHECK-NEXT: },465// CHECK-NEXT: "range": {466// CHECK-NEXT: "begin": {467// CHECK-NEXT: "offset": 478,468// CHECK-NEXT: "col": 3,469// CHECK-NEXT: "tokLen": 12470// CHECK-NEXT: },471// CHECK-NEXT: "end": {472// CHECK-NEXT: "offset": 478,473// CHECK-NEXT: "col": 3,474// CHECK-NEXT: "tokLen": 12475// CHECK-NEXT: }476// CHECK-NEXT: },477// CHECK-NEXT: "name": "testEnumDecl",478// CHECK-NEXT: "type": {479// CHECK-NEXT: "qualType": "int"480// CHECK-NEXT: }481// CHECK-NEXT: }482// CHECK-NEXT: ]483// CHECK-NEXT: }484 485 486// CHECK-NOT: {{^}}Dumping487// CHECK: "kind": "RecordDecl",488// CHECK-NEXT: "loc": {489// CHECK-NEXT: "offset": 502,490// CHECK-NEXT: "file": "{{.*}}",491// CHECK-NEXT: "line": 30,492// CHECK-NEXT: "col": 8,493// CHECK-NEXT: "tokLen": 16494// CHECK-NEXT: },495// CHECK-NEXT: "range": {496// CHECK-NEXT: "begin": {497// CHECK-NEXT: "offset": 495,498// CHECK-NEXT: "col": 1,499// CHECK-NEXT: "tokLen": 6500// CHECK-NEXT: },501// CHECK-NEXT: "end": {502// CHECK-NEXT: "offset": 558,503// CHECK-NEXT: "line": 34,504// CHECK-NEXT: "col": 1,505// CHECK-NEXT: "tokLen": 1506// CHECK-NEXT: }507// CHECK-NEXT: },508// CHECK-NEXT: "name": "TestEnumDeclAnon",509// CHECK-NEXT: "tagUsed": "struct",510// CHECK-NEXT: "completeDefinition": true,511// CHECK-NEXT: "inner": [512// CHECK-NEXT: {513// CHECK-NEXT: "id": "0x{{.*}}",514// CHECK-NEXT: "kind": "EnumDecl",515// CHECK-NEXT: "loc": {516// CHECK-NEXT: "offset": 523,517// CHECK-NEXT: "line": 31,518// CHECK-NEXT: "col": 3,519// CHECK-NEXT: "tokLen": 4520// CHECK-NEXT: },521// CHECK-NEXT: "range": {522// CHECK-NEXT: "begin": {523// CHECK-NEXT: "offset": 523,524// CHECK-NEXT: "col": 3,525// CHECK-NEXT: "tokLen": 4526// CHECK-NEXT: },527// CHECK-NEXT: "end": {528// CHECK-NEXT: "offset": 553,529// CHECK-NEXT: "line": 33,530// CHECK-NEXT: "col": 3,531// CHECK-NEXT: "tokLen": 1532// CHECK-NEXT: }533// CHECK-NEXT: },534// CHECK-NEXT: "inner": [535// CHECK-NEXT: {536// CHECK-NEXT: "id": "0x{{.*}}",537// CHECK-NEXT: "kind": "EnumConstantDecl",538// CHECK-NEXT: "loc": {539// CHECK-NEXT: "offset": 534,540// CHECK-NEXT: "line": 32,541// CHECK-NEXT: "col": 5,542// CHECK-NEXT: "tokLen": 16543// CHECK-NEXT: },544// CHECK-NEXT: "range": {545// CHECK-NEXT: "begin": {546// CHECK-NEXT: "offset": 534,547// CHECK-NEXT: "col": 5,548// CHECK-NEXT: "tokLen": 16549// CHECK-NEXT: },550// CHECK-NEXT: "end": {551// CHECK-NEXT: "offset": 534,552// CHECK-NEXT: "col": 5,553// CHECK-NEXT: "tokLen": 16554// CHECK-NEXT: }555// CHECK-NEXT: },556// CHECK-NEXT: "name": "testEnumDeclAnon",557// CHECK-NEXT: "type": {558// CHECK-NEXT: "qualType": "int"559// CHECK-NEXT: }560// CHECK-NEXT: }561// CHECK-NEXT: ]562// CHECK-NEXT: },563// CHECK-NEXT: {564// CHECK-NEXT: "id": "0x{{.*}}",565// CHECK-NEXT: "kind": "FieldDecl",566// CHECK-NEXT: "loc": {567// CHECK-NEXT: "offset": 555,568// CHECK-NEXT: "line": 33,569// CHECK-NEXT: "col": 5,570// CHECK-NEXT: "tokLen": 1571// CHECK-NEXT: },572// CHECK-NEXT: "range": {573// CHECK-NEXT: "begin": {574// CHECK-NEXT: "offset": 523,575// CHECK-NEXT: "line": 31,576// CHECK-NEXT: "col": 3,577// CHECK-NEXT: "tokLen": 4578// CHECK-NEXT: },579// CHECK-NEXT: "end": {580// CHECK-NEXT: "offset": 555,581// CHECK-NEXT: "line": 33,582// CHECK-NEXT: "col": 5,583// CHECK-NEXT: "tokLen": 1584// CHECK-NEXT: }585// CHECK-NEXT: },586// CHECK-NEXT: "name": "e",587// CHECK-NEXT: "type": {588// CHECK-NEXT: "qualType": "enum (unnamed enum at {{.*}}:31:3)"589// CHECK-NEXT: }590// CHECK-NEXT: }591// CHECK-NEXT: ]592// CHECK-NEXT: }593 594 595// CHECK-NOT: {{^}}Dumping596// CHECK: "kind": "EnumDecl",597// CHECK-NEXT: "loc": {598// CHECK-NEXT: "offset": 567,599// CHECK-NEXT: "file": "{{.*}}",600// CHECK-NEXT: "line": 36,601// CHECK-NEXT: "col": 6,602// CHECK-NEXT: "tokLen": 19603// CHECK-NEXT: },604// CHECK-NEXT: "range": {605// CHECK-NEXT: "begin": {606// CHECK-NEXT: "offset": 562,607// CHECK-NEXT: "col": 1,608// CHECK-NEXT: "tokLen": 4609// CHECK-NEXT: },610// CHECK-NEXT: "end": {611// CHECK-NEXT: "offset": 567,612// CHECK-NEXT: "col": 6,613// CHECK-NEXT: "tokLen": 19614// CHECK-NEXT: }615// CHECK-NEXT: },616// CHECK-NEXT: "name": "TestEnumDeclForward"617// CHECK-NEXT: }618 619 620// CHECK-NOT: {{^}}Dumping621// CHECK: "kind": "RecordDecl",622// CHECK-NEXT: "loc": {623// CHECK-NEXT: "offset": 596,624// CHECK-NEXT: "file": "{{.*}}",625// CHECK-NEXT: "line": 38,626// CHECK-NEXT: "col": 8,627// CHECK-NEXT: "tokLen": 14628// CHECK-NEXT: },629// CHECK-NEXT: "range": {630// CHECK-NEXT: "begin": {631// CHECK-NEXT: "offset": 589,632// CHECK-NEXT: "col": 1,633// CHECK-NEXT: "tokLen": 6634// CHECK-NEXT: },635// CHECK-NEXT: "end": {636// CHECK-NEXT: "offset": 622,637// CHECK-NEXT: "line": 40,638// CHECK-NEXT: "col": 1,639// CHECK-NEXT: "tokLen": 1640// CHECK-NEXT: }641// CHECK-NEXT: },642// CHECK-NEXT: "name": "TestRecordDecl",643// CHECK-NEXT: "tagUsed": "struct",644// CHECK-NEXT: "completeDefinition": true,645// CHECK-NEXT: "inner": [646// CHECK-NEXT: {647// CHECK-NEXT: "id": "0x{{.*}}",648// CHECK-NEXT: "kind": "FieldDecl",649// CHECK-NEXT: "loc": {650// CHECK-NEXT: "offset": 619,651// CHECK-NEXT: "line": 39,652// CHECK-NEXT: "col": 7,653// CHECK-NEXT: "tokLen": 1654// CHECK-NEXT: },655// CHECK-NEXT: "range": {656// CHECK-NEXT: "begin": {657// CHECK-NEXT: "offset": 615,658// CHECK-NEXT: "col": 3,659// CHECK-NEXT: "tokLen": 3660// CHECK-NEXT: },661// CHECK-NEXT: "end": {662// CHECK-NEXT: "offset": 619,663// CHECK-NEXT: "col": 7,664// CHECK-NEXT: "tokLen": 1665// CHECK-NEXT: }666// CHECK-NEXT: },667// CHECK-NEXT: "name": "i",668// CHECK-NEXT: "type": {669// CHECK-NEXT: "qualType": "int"670// CHECK-NEXT: }671// CHECK-NEXT: }672// CHECK-NEXT: ]673// CHECK-NEXT: }674 675 676// CHECK-NOT: {{^}}Dumping677// CHECK: "kind": "RecordDecl",678// CHECK-NEXT: "loc": {679// CHECK-NEXT: "offset": 633,680// CHECK-NEXT: "file": "{{.*}}",681// CHECK-NEXT: "line": 42,682// CHECK-NEXT: "col": 8,683// CHECK-NEXT: "tokLen": 19684// CHECK-NEXT: },685// CHECK-NEXT: "range": {686// CHECK-NEXT: "begin": {687// CHECK-NEXT: "offset": 626,688// CHECK-NEXT: "col": 1,689// CHECK-NEXT: "tokLen": 6690// CHECK-NEXT: },691// CHECK-NEXT: "end": {692// CHECK-NEXT: "offset": 655,693// CHECK-NEXT: "line": 43,694// CHECK-NEXT: "col": 1,695// CHECK-NEXT: "tokLen": 1696// CHECK-NEXT: }697// CHECK-NEXT: },698// CHECK-NEXT: "name": "TestRecordDeclEmpty",699// CHECK-NEXT: "tagUsed": "struct",700// CHECK-NEXT: "completeDefinition": true701// CHECK-NEXT: }702 703 704// CHECK-NOT: {{^}}Dumping705// CHECK: "kind": "RecordDecl",706// CHECK-NEXT: "loc": {707// CHECK-NEXT: "offset": 666,708// CHECK-NEXT: "file": "{{.*}}",709// CHECK-NEXT: "line": 45,710// CHECK-NEXT: "col": 8,711// CHECK-NEXT: "tokLen": 19712// CHECK-NEXT: },713// CHECK-NEXT: "range": {714// CHECK-NEXT: "begin": {715// CHECK-NEXT: "offset": 659,716// CHECK-NEXT: "col": 1,717// CHECK-NEXT: "tokLen": 6718// CHECK-NEXT: },719// CHECK-NEXT: "end": {720// CHECK-NEXT: "offset": 724,721// CHECK-NEXT: "line": 48,722// CHECK-NEXT: "col": 1,723// CHECK-NEXT: "tokLen": 1724// CHECK-NEXT: }725// CHECK-NEXT: },726// CHECK-NEXT: "name": "TestRecordDeclAnon1",727// CHECK-NEXT: "tagUsed": "struct",728// CHECK-NEXT: "completeDefinition": true,729// CHECK-NEXT: "inner": [730// CHECK-NEXT: {731// CHECK-NEXT: "id": "0x{{.*}}",732// CHECK-NEXT: "kind": "RecordDecl",733// CHECK-NEXT: "loc": {734// CHECK-NEXT: "offset": 690,735// CHECK-NEXT: "line": 46,736// CHECK-NEXT: "col": 3,737// CHECK-NEXT: "tokLen": 6738// CHECK-NEXT: },739// CHECK-NEXT: "range": {740// CHECK-NEXT: "begin": {741// CHECK-NEXT: "offset": 690,742// CHECK-NEXT: "col": 3,743// CHECK-NEXT: "tokLen": 6744// CHECK-NEXT: },745// CHECK-NEXT: "end": {746// CHECK-NEXT: "offset": 701,747// CHECK-NEXT: "line": 47,748// CHECK-NEXT: "col": 3,749// CHECK-NEXT: "tokLen": 1750// CHECK-NEXT: }751// CHECK-NEXT: },752// CHECK-NEXT: "tagUsed": "struct",753// CHECK-NEXT: "completeDefinition": true754// CHECK-NEXT: },755// CHECK-NEXT: {756// CHECK-NEXT: "id": "0x{{.*}}",757// CHECK-NEXT: "kind": "FieldDecl",758// CHECK-NEXT: "loc": {759// CHECK-NEXT: "offset": 703,760// CHECK-NEXT: "col": 5,761// CHECK-NEXT: "tokLen": 19762// CHECK-NEXT: },763// CHECK-NEXT: "range": {764// CHECK-NEXT: "begin": {765// CHECK-NEXT: "offset": 690,766// CHECK-NEXT: "line": 46,767// CHECK-NEXT: "col": 3,768// CHECK-NEXT: "tokLen": 6769// CHECK-NEXT: },770// CHECK-NEXT: "end": {771// CHECK-NEXT: "offset": 703,772// CHECK-NEXT: "line": 47,773// CHECK-NEXT: "col": 5,774// CHECK-NEXT: "tokLen": 19775// CHECK-NEXT: }776// CHECK-NEXT: },777// CHECK-NEXT: "name": "testRecordDeclAnon1",778// CHECK-NEXT: "type": {779// CHECK-NEXT: "qualType": "struct (unnamed struct at {{.*}}:46:3)"780// CHECK-NEXT: }781// CHECK-NEXT: }782// CHECK-NEXT: ]783// CHECK-NEXT: }784 785 786// CHECK-NOT: {{^}}Dumping787// CHECK: "kind": "RecordDecl",788// CHECK-NEXT: "loc": {789// CHECK-NEXT: "offset": 735,790// CHECK-NEXT: "file": "{{.*}}",791// CHECK-NEXT: "line": 50,792// CHECK-NEXT: "col": 8,793// CHECK-NEXT: "tokLen": 19794// CHECK-NEXT: },795// CHECK-NEXT: "range": {796// CHECK-NEXT: "begin": {797// CHECK-NEXT: "offset": 728,798// CHECK-NEXT: "col": 1,799// CHECK-NEXT: "tokLen": 6800// CHECK-NEXT: },801// CHECK-NEXT: "end": {802// CHECK-NEXT: "offset": 773,803// CHECK-NEXT: "line": 53,804// CHECK-NEXT: "col": 1,805// CHECK-NEXT: "tokLen": 1806// CHECK-NEXT: }807// CHECK-NEXT: },808// CHECK-NEXT: "name": "TestRecordDeclAnon2",809// CHECK-NEXT: "tagUsed": "struct",810// CHECK-NEXT: "completeDefinition": true,811// CHECK-NEXT: "inner": [812// CHECK-NEXT: {813// CHECK-NEXT: "id": "0x{{.*}}",814// CHECK-NEXT: "kind": "RecordDecl",815// CHECK-NEXT: "loc": {816// CHECK-NEXT: "offset": 759,817// CHECK-NEXT: "line": 51,818// CHECK-NEXT: "col": 3,819// CHECK-NEXT: "tokLen": 6820// CHECK-NEXT: },821// CHECK-NEXT: "range": {822// CHECK-NEXT: "begin": {823// CHECK-NEXT: "offset": 759,824// CHECK-NEXT: "col": 3,825// CHECK-NEXT: "tokLen": 6826// CHECK-NEXT: },827// CHECK-NEXT: "end": {828// CHECK-NEXT: "offset": 770,829// CHECK-NEXT: "line": 52,830// CHECK-NEXT: "col": 3,831// CHECK-NEXT: "tokLen": 1832// CHECK-NEXT: }833// CHECK-NEXT: },834// CHECK-NEXT: "tagUsed": "struct",835// CHECK-NEXT: "completeDefinition": true836// CHECK-NEXT: },837// CHECK-NEXT: {838// CHECK-NEXT: "id": "0x{{.*}}",839// CHECK-NEXT: "kind": "FieldDecl",840// CHECK-NEXT: "loc": {841// CHECK-NEXT: "offset": 759,842// CHECK-NEXT: "line": 51,843// CHECK-NEXT: "col": 3,844// CHECK-NEXT: "tokLen": 6845// CHECK-NEXT: },846// CHECK-NEXT: "range": {847// CHECK-NEXT: "begin": {848// CHECK-NEXT: "offset": 759,849// CHECK-NEXT: "col": 3,850// CHECK-NEXT: "tokLen": 6851// CHECK-NEXT: },852// CHECK-NEXT: "end": {853// CHECK-NEXT: "offset": 759,854// CHECK-NEXT: "col": 3,855// CHECK-NEXT: "tokLen": 6856// CHECK-NEXT: }857// CHECK-NEXT: },858// CHECK-NEXT: "isImplicit": true,859// CHECK-NEXT: "type": {860// CHECK-NEXT: "qualType": "struct TestRecordDeclAnon2::(anonymous at {{.*}}:51:3)"861// CHECK-NEXT: }862// CHECK-NEXT: }863// CHECK-NEXT: ]864// CHECK-NEXT: }865 866 867// CHECK-NOT: {{^}}Dumping868// CHECK: "kind": "RecordDecl",869// CHECK-NEXT: "loc": {870// CHECK-NEXT: "offset": 784,871// CHECK-NEXT: "file": "{{.*}}",872// CHECK-NEXT: "line": 55,873// CHECK-NEXT: "col": 8,874// CHECK-NEXT: "tokLen": 21875// CHECK-NEXT: },876// CHECK-NEXT: "range": {877// CHECK-NEXT: "begin": {878// CHECK-NEXT: "offset": 777,879// CHECK-NEXT: "col": 1,880// CHECK-NEXT: "tokLen": 6881// CHECK-NEXT: },882// CHECK-NEXT: "end": {883// CHECK-NEXT: "offset": 784,884// CHECK-NEXT: "col": 8,885// CHECK-NEXT: "tokLen": 21886// CHECK-NEXT: }887// CHECK-NEXT: },888// CHECK-NEXT: "name": "TestRecordDeclForward",889// CHECK-NEXT: "tagUsed": "struct"890// CHECK-NEXT: }891 892 893// CHECK-NOT: {{^}}Dumping894// CHECK: "kind": "EnumConstantDecl",895// CHECK-NEXT: "loc": {896// CHECK-NEXT: "offset": 838,897// CHECK-NEXT: "file": "{{.*}}",898// CHECK-NEXT: "line": 58,899// CHECK-NEXT: "col": 3,900// CHECK-NEXT: "tokLen": 20901// CHECK-NEXT: },902// CHECK-NEXT: "range": {903// CHECK-NEXT: "begin": {904// CHECK-NEXT: "offset": 838,905// CHECK-NEXT: "col": 3,906// CHECK-NEXT: "tokLen": 20907// CHECK-NEXT: },908// CHECK-NEXT: "end": {909// CHECK-NEXT: "offset": 838,910// CHECK-NEXT: "col": 3,911// CHECK-NEXT: "tokLen": 20912// CHECK-NEXT: }913// CHECK-NEXT: },914// CHECK-NEXT: "name": "TestEnumConstantDecl",915// CHECK-NEXT: "type": {916// CHECK-NEXT: "qualType": "int"917// CHECK-NEXT: }918// CHECK-NEXT: }919 920 921// CHECK-NOT: {{^}}Dumping922// CHECK: "kind": "EnumConstantDecl",923// CHECK-NEXT: "loc": {924// CHECK-NEXT: "offset": 862,925// CHECK-NEXT: "file": "{{.*}}",926// CHECK-NEXT: "line": 59,927// CHECK-NEXT: "col": 3,928// CHECK-NEXT: "tokLen": 24929// CHECK-NEXT: },930// CHECK-NEXT: "range": {931// CHECK-NEXT: "begin": {932// CHECK-NEXT: "offset": 862,933// CHECK-NEXT: "col": 3,934// CHECK-NEXT: "tokLen": 24935// CHECK-NEXT: },936// CHECK-NEXT: "end": {937// CHECK-NEXT: "offset": 889,938// CHECK-NEXT: "col": 30,939// CHECK-NEXT: "tokLen": 1940// CHECK-NEXT: }941// CHECK-NEXT: },942// CHECK-NEXT: "name": "TestEnumConstantDeclInit",943// CHECK-NEXT: "type": {944// CHECK-NEXT: "qualType": "int"945// CHECK-NEXT: },946// CHECK-NEXT: "inner": [947// CHECK-NEXT: {948// CHECK-NEXT: "id": "0x{{.*}}",949// CHECK-NEXT: "kind": "ConstantExpr",950// CHECK-NEXT: "range": {951// CHECK-NEXT: "begin": {952// CHECK-NEXT: "offset": 889,953// CHECK-NEXT: "col": 30,954// CHECK-NEXT: "tokLen": 1955// CHECK-NEXT: },956// CHECK-NEXT: "end": {957// CHECK-NEXT: "offset": 889,958// CHECK-NEXT: "col": 30,959// CHECK-NEXT: "tokLen": 1960// CHECK-NEXT: }961// CHECK-NEXT: },962// CHECK-NEXT: "type": {963// CHECK-NEXT: "qualType": "int"964// CHECK-NEXT: },965// CHECK-NEXT: "valueCategory": "prvalue",966// CHECK-NEXT: "value": "1",967// CHECK-NEXT: "inner": [968// CHECK-NEXT: {969// CHECK-NEXT: "id": "0x{{.*}}",970// CHECK-NEXT: "kind": "IntegerLiteral",971// CHECK-NEXT: "range": {972// CHECK-NEXT: "begin": {973// CHECK-NEXT: "offset": 889,974// CHECK-NEXT: "col": 30,975// CHECK-NEXT: "tokLen": 1976// CHECK-NEXT: },977// CHECK-NEXT: "end": {978// CHECK-NEXT: "offset": 889,979// CHECK-NEXT: "col": 30,980// CHECK-NEXT: "tokLen": 1981// CHECK-NEXT: }982// CHECK-NEXT: },983// CHECK-NEXT: "type": {984// CHECK-NEXT: "qualType": "int"985// CHECK-NEXT: },986// CHECK-NEXT: "valueCategory": "prvalue",987// CHECK-NEXT: "value": "1"988// CHECK-NEXT: }989// CHECK-NEXT: ]990// CHECK-NEXT: }991// CHECK-NEXT: ]992// CHECK-NEXT: }993 994 995// CHECK-NOT: {{^}}Dumping996// CHECK: "kind": "RecordDecl",997// CHECK-NEXT: "loc": {998// CHECK-NEXT: "offset": 902,999// CHECK-NEXT: "file": "{{.*}}",1000// CHECK-NEXT: "line": 62,1001// CHECK-NEXT: "col": 8,1002// CHECK-NEXT: "tokLen": 211003// CHECK-NEXT: },1004// CHECK-NEXT: "range": {1005// CHECK-NEXT: "begin": {1006// CHECK-NEXT: "offset": 895,1007// CHECK-NEXT: "col": 1,1008// CHECK-NEXT: "tokLen": 61009// CHECK-NEXT: },1010// CHECK-NEXT: "end": {1011// CHECK-NEXT: "offset": 957,1012// CHECK-NEXT: "line": 66,1013// CHECK-NEXT: "col": 1,1014// CHECK-NEXT: "tokLen": 11015// CHECK-NEXT: }1016// CHECK-NEXT: },1017// CHECK-NEXT: "name": "TestIndirectFieldDecl",1018// CHECK-NEXT: "tagUsed": "struct",1019// CHECK-NEXT: "completeDefinition": true,1020// CHECK-NEXT: "inner": [1021// CHECK-NEXT: {1022// CHECK-NEXT: "id": "0x{{.*}}",1023// CHECK-NEXT: "kind": "RecordDecl",1024// CHECK-NEXT: "loc": {1025// CHECK-NEXT: "offset": 928,1026// CHECK-NEXT: "line": 63,1027// CHECK-NEXT: "col": 3,1028// CHECK-NEXT: "tokLen": 61029// CHECK-NEXT: },1030// CHECK-NEXT: "range": {1031// CHECK-NEXT: "begin": {1032// CHECK-NEXT: "offset": 928,1033// CHECK-NEXT: "col": 3,1034// CHECK-NEXT: "tokLen": 61035// CHECK-NEXT: },1036// CHECK-NEXT: "end": {1037// CHECK-NEXT: "offset": 954,1038// CHECK-NEXT: "line": 65,1039// CHECK-NEXT: "col": 3,1040// CHECK-NEXT: "tokLen": 11041// CHECK-NEXT: }1042// CHECK-NEXT: },1043// CHECK-NEXT: "tagUsed": "struct",1044// CHECK-NEXT: "completeDefinition": true,1045// CHECK-NEXT: "inner": [1046// CHECK-NEXT: {1047// CHECK-NEXT: "id": "0x{{.*}}",1048// CHECK-NEXT: "kind": "FieldDecl",1049// CHECK-NEXT: "loc": {1050// CHECK-NEXT: "offset": 945,1051// CHECK-NEXT: "line": 64,1052// CHECK-NEXT: "col": 9,1053// CHECK-NEXT: "tokLen": 51054// CHECK-NEXT: },1055// CHECK-NEXT: "range": {1056// CHECK-NEXT: "begin": {1057// CHECK-NEXT: "offset": 941,1058// CHECK-NEXT: "col": 5,1059// CHECK-NEXT: "tokLen": 31060// CHECK-NEXT: },1061// CHECK-NEXT: "end": {1062// CHECK-NEXT: "offset": 945,1063// CHECK-NEXT: "col": 9,1064// CHECK-NEXT: "tokLen": 51065// CHECK-NEXT: }1066// CHECK-NEXT: },1067// CHECK-NEXT: "name": "Field",1068// CHECK-NEXT: "type": {1069// CHECK-NEXT: "qualType": "int"1070// CHECK-NEXT: }1071// CHECK-NEXT: }1072// CHECK-NEXT: ]1073// CHECK-NEXT: },1074// CHECK-NEXT: {1075// CHECK-NEXT: "id": "0x{{.*}}",1076// CHECK-NEXT: "kind": "FieldDecl",1077// CHECK-NEXT: "loc": {1078// CHECK-NEXT: "offset": 928,1079// CHECK-NEXT: "line": 63,1080// CHECK-NEXT: "col": 3,1081// CHECK-NEXT: "tokLen": 61082// CHECK-NEXT: },1083// CHECK-NEXT: "range": {1084// CHECK-NEXT: "begin": {1085// CHECK-NEXT: "offset": 928,1086// CHECK-NEXT: "col": 3,1087// CHECK-NEXT: "tokLen": 61088// CHECK-NEXT: },1089// CHECK-NEXT: "end": {1090// CHECK-NEXT: "offset": 928,1091// CHECK-NEXT: "col": 3,1092// CHECK-NEXT: "tokLen": 61093// CHECK-NEXT: }1094// CHECK-NEXT: },1095// CHECK-NEXT: "isImplicit": true,1096// CHECK-NEXT: "type": {1097// CHECK-NEXT: "qualType": "struct TestIndirectFieldDecl::(anonymous at {{.*}}:63:3)"1098// CHECK-NEXT: }1099// CHECK-NEXT: },1100// CHECK-NEXT: {1101// CHECK-NEXT: "id": "0x{{.*}}",1102// CHECK-NEXT: "kind": "IndirectFieldDecl",1103// CHECK-NEXT: "loc": {1104// CHECK-NEXT: "offset": 945,1105// CHECK-NEXT: "line": 64,1106// CHECK-NEXT: "col": 9,1107// CHECK-NEXT: "tokLen": 51108// CHECK-NEXT: },1109// CHECK-NEXT: "range": {1110// CHECK-NEXT: "begin": {1111// CHECK-NEXT: "offset": 945,1112// CHECK-NEXT: "col": 9,1113// CHECK-NEXT: "tokLen": 51114// CHECK-NEXT: },1115// CHECK-NEXT: "end": {1116// CHECK-NEXT: "offset": 945,1117// CHECK-NEXT: "col": 9,1118// CHECK-NEXT: "tokLen": 51119// CHECK-NEXT: }1120// CHECK-NEXT: },1121// CHECK-NEXT: "isImplicit": true,1122// CHECK-NEXT: "name": "Field"1123// CHECK-NEXT: }1124// CHECK-NEXT: ]1125// CHECK-NEXT: }1126 1127 1128// CHECK-NOT: {{^}}Dumping1129// CHECK: "kind": "FunctionDecl",1130// CHECK-NEXT: "loc": {1131// CHECK-NEXT: "offset": 1030,1132// CHECK-NEXT: "file": "{{.*}}",1133// CHECK-NEXT: "line": 69,1134// CHECK-NEXT: "col": 5,1135// CHECK-NEXT: "tokLen": 161136// CHECK-NEXT: },1137// CHECK-NEXT: "range": {1138// CHECK-NEXT: "begin": {1139// CHECK-NEXT: "offset": 1026,1140// CHECK-NEXT: "col": 1,1141// CHECK-NEXT: "tokLen": 31142// CHECK-NEXT: },1143// CHECK-NEXT: "end": {1144// CHECK-NEXT: "offset": 1082,1145// CHECK-NEXT: "line": 71,1146// CHECK-NEXT: "col": 1,1147// CHECK-NEXT: "tokLen": 11148// CHECK-NEXT: }1149// CHECK-NEXT: },1150// CHECK-NEXT: "name": "TestFunctionDecl",1151// CHECK-NEXT: "mangledName": "TestFunctionDecl",1152// CHECK-NEXT: "type": {1153// CHECK-NEXT: "qualType": "int (int, enum (unnamed enum at {{.*}}:69:29))"1154// CHECK-NEXT: },1155// CHECK-NEXT: "inner": [1156// CHECK-NEXT: {1157// CHECK-NEXT: "id": "0x{{.*}}",1158// CHECK-NEXT: "kind": "ParmVarDecl",1159// CHECK-NEXT: "loc": {1160// CHECK-NEXT: "offset": 1051,1161// CHECK-NEXT: "line": 69,1162// CHECK-NEXT: "col": 26,1163// CHECK-NEXT: "tokLen": 11164// CHECK-NEXT: },1165// CHECK-NEXT: "range": {1166// CHECK-NEXT: "begin": {1167// CHECK-NEXT: "offset": 1047,1168// CHECK-NEXT: "col": 22,1169// CHECK-NEXT: "tokLen": 31170// CHECK-NEXT: },1171// CHECK-NEXT: "end": {1172// CHECK-NEXT: "offset": 1051,1173// CHECK-NEXT: "col": 26,1174// CHECK-NEXT: "tokLen": 11175// CHECK-NEXT: }1176// CHECK-NEXT: },1177// CHECK-NEXT: "isUsed": true,1178// CHECK-NEXT: "name": "x",1179// CHECK-NEXT: "type": {1180// CHECK-NEXT: "qualType": "int"1181// CHECK-NEXT: }1182// CHECK-NEXT: },1183// CHECK-NEXT: {1184// CHECK-NEXT: "id": "0x{{.*}}",1185// CHECK-NEXT: "kind": "ParmVarDecl",1186// CHECK-NEXT: "loc": {1187// CHECK-NEXT: "offset": 1065,1188// CHECK-NEXT: "col": 40,1189// CHECK-NEXT: "tokLen": 11190// CHECK-NEXT: },1191// CHECK-NEXT: "range": {1192// CHECK-NEXT: "begin": {1193// CHECK-NEXT: "offset": 1054,1194// CHECK-NEXT: "col": 29,1195// CHECK-NEXT: "tokLen": 41196// CHECK-NEXT: },1197// CHECK-NEXT: "end": {1198// CHECK-NEXT: "offset": 1065,1199// CHECK-NEXT: "col": 40,1200// CHECK-NEXT: "tokLen": 11201// CHECK-NEXT: }1202// CHECK-NEXT: },1203// CHECK-NEXT: "name": "y",1204// CHECK-NEXT: "type": {1205// CHECK-NEXT: "qualType": "enum (unnamed enum at {{.*}}:69:29)"1206// CHECK-NEXT: }1207// CHECK-NEXT: },1208// CHECK-NEXT: {1209// CHECK-NEXT: "id": "0x{{.*}}",1210// CHECK-NEXT: "kind": "CompoundStmt",1211// CHECK-NEXT: "range": {1212// CHECK-NEXT: "begin": {1213// CHECK-NEXT: "offset": 1068,1214// CHECK-NEXT: "col": 43,1215// CHECK-NEXT: "tokLen": 11216// CHECK-NEXT: },1217// CHECK-NEXT: "end": {1218// CHECK-NEXT: "offset": 1082,1219// CHECK-NEXT: "line": 71,1220// CHECK-NEXT: "col": 1,1221// CHECK-NEXT: "tokLen": 11222// CHECK-NEXT: }1223// CHECK-NEXT: },1224// CHECK-NEXT: "inner": [1225// CHECK-NEXT: {1226// CHECK-NEXT: "id": "0x{{.*}}",1227// CHECK-NEXT: "kind": "ReturnStmt",1228// CHECK-NEXT: "range": {1229// CHECK-NEXT: "begin": {1230// CHECK-NEXT: "offset": 1072,1231// CHECK-NEXT: "line": 70,1232// CHECK-NEXT: "col": 3,1233// CHECK-NEXT: "tokLen": 61234// CHECK-NEXT: },1235// CHECK-NEXT: "end": {1236// CHECK-NEXT: "offset": 1079,1237// CHECK-NEXT: "col": 10,1238// CHECK-NEXT: "tokLen": 11239// CHECK-NEXT: }1240// CHECK-NEXT: },1241// CHECK-NEXT: "inner": [1242// CHECK-NEXT: {1243// CHECK-NEXT: "id": "0x{{.*}}",1244// CHECK-NEXT: "kind": "ImplicitCastExpr",1245// CHECK-NEXT: "range": {1246// CHECK-NEXT: "begin": {1247// CHECK-NEXT: "offset": 1079,1248// CHECK-NEXT: "col": 10,1249// CHECK-NEXT: "tokLen": 11250// CHECK-NEXT: },1251// CHECK-NEXT: "end": {1252// CHECK-NEXT: "offset": 1079,1253// CHECK-NEXT: "col": 10,1254// CHECK-NEXT: "tokLen": 11255// CHECK-NEXT: }1256// CHECK-NEXT: },1257// CHECK-NEXT: "type": {1258// CHECK-NEXT: "qualType": "int"1259// CHECK-NEXT: },1260// CHECK-NEXT: "valueCategory": "prvalue",1261// CHECK-NEXT: "castKind": "LValueToRValue",1262// CHECK-NEXT: "inner": [1263// CHECK-NEXT: {1264// CHECK-NEXT: "id": "0x{{.*}}",1265// CHECK-NEXT: "kind": "DeclRefExpr",1266// CHECK-NEXT: "range": {1267// CHECK-NEXT: "begin": {1268// CHECK-NEXT: "offset": 1079,1269// CHECK-NEXT: "col": 10,1270// CHECK-NEXT: "tokLen": 11271// CHECK-NEXT: },1272// CHECK-NEXT: "end": {1273// CHECK-NEXT: "offset": 1079,1274// CHECK-NEXT: "col": 10,1275// CHECK-NEXT: "tokLen": 11276// CHECK-NEXT: }1277// CHECK-NEXT: },1278// CHECK-NEXT: "type": {1279// CHECK-NEXT: "qualType": "int"1280// CHECK-NEXT: },1281// CHECK-NEXT: "valueCategory": "lvalue",1282// CHECK-NEXT: "referencedDecl": {1283// CHECK-NEXT: "id": "0x{{.*}}",1284// CHECK-NEXT: "kind": "ParmVarDecl",1285// CHECK-NEXT: "name": "x",1286// CHECK-NEXT: "type": {1287// CHECK-NEXT: "qualType": "int"1288// CHECK-NEXT: }1289// CHECK-NEXT: }1290// CHECK-NEXT: }1291// CHECK-NEXT: ]1292// CHECK-NEXT: }1293// CHECK-NEXT: ]1294// CHECK-NEXT: }1295// CHECK-NEXT: ]1296// CHECK-NEXT: }1297// CHECK-NEXT: ]1298// CHECK-NEXT: }1299 1300 1301// CHECK-NOT: {{^}}Dumping1302// CHECK: "kind": "FunctionDecl",1303// CHECK-NEXT: "loc": {1304// CHECK-NEXT: "offset": 1140,1305// CHECK-NEXT: "file": "{{.*}}",1306// CHECK-NEXT: "line": 74,1307// CHECK-NEXT: "col": 5,1308// CHECK-NEXT: "tokLen": 171309// CHECK-NEXT: },1310// CHECK-NEXT: "range": {1311// CHECK-NEXT: "begin": {1312// CHECK-NEXT: "offset": 1136,1313// CHECK-NEXT: "col": 1,1314// CHECK-NEXT: "tokLen": 31315// CHECK-NEXT: },1316// CHECK-NEXT: "end": {1317// CHECK-NEXT: "offset": 1189,1318// CHECK-NEXT: "col": 54,1319// CHECK-NEXT: "tokLen": 11320// CHECK-NEXT: }1321// CHECK-NEXT: },1322// CHECK-NEXT: "name": "TestFunctionDecl2",1323// CHECK-NEXT: "mangledName": "TestFunctionDecl2",1324// CHECK-NEXT: "type": {1325// CHECK-NEXT: "qualType": "int (enum Enum)"1326// CHECK-NEXT: },1327// CHECK-NEXT: "inner": [1328// CHECK-NEXT: {1329// CHECK-NEXT: "id": "0x{{.*}}",1330// CHECK-NEXT: "kind": "ParmVarDecl",1331// CHECK-NEXT: "loc": {1332// CHECK-NEXT: "offset": 1174,1333// CHECK-NEXT: "col": 39,1334// CHECK-NEXT: "tokLen": 11335// CHECK-NEXT: },1336// CHECK-NEXT: "range": {1337// CHECK-NEXT: "begin": {1338// CHECK-NEXT: "offset": 1158,1339// CHECK-NEXT: "col": 23,1340// CHECK-NEXT: "tokLen": 41341// CHECK-NEXT: },1342// CHECK-NEXT: "end": {1343// CHECK-NEXT: "offset": 1174,1344// CHECK-NEXT: "col": 39,1345// CHECK-NEXT: "tokLen": 11346// CHECK-NEXT: }1347// CHECK-NEXT: },1348// CHECK-NEXT: "isUsed": true,1349// CHECK-NEXT: "name": "x",1350// CHECK-NEXT: "type": {1351// CHECK-NEXT: "qualType": "enum Enum"1352// CHECK-NEXT: }1353// CHECK-NEXT: },1354// CHECK-NEXT: {1355// CHECK-NEXT: "id": "0x{{.*}}",1356// CHECK-NEXT: "kind": "CompoundStmt",1357// CHECK-NEXT: "range": {1358// CHECK-NEXT: "begin": {1359// CHECK-NEXT: "offset": 1177,1360// CHECK-NEXT: "col": 42,1361// CHECK-NEXT: "tokLen": 11362// CHECK-NEXT: },1363// CHECK-NEXT: "end": {1364// CHECK-NEXT: "offset": 1189,1365// CHECK-NEXT: "col": 54,1366// CHECK-NEXT: "tokLen": 11367// CHECK-NEXT: }1368// CHECK-NEXT: },1369// CHECK-NEXT: "inner": [1370// CHECK-NEXT: {1371// CHECK-NEXT: "id": "0x{{.*}}",1372// CHECK-NEXT: "kind": "ReturnStmt",1373// CHECK-NEXT: "range": {1374// CHECK-NEXT: "begin": {1375// CHECK-NEXT: "offset": 1179,1376// CHECK-NEXT: "col": 44,1377// CHECK-NEXT: "tokLen": 61378// CHECK-NEXT: },1379// CHECK-NEXT: "end": {1380// CHECK-NEXT: "offset": 1186,1381// CHECK-NEXT: "col": 51,1382// CHECK-NEXT: "tokLen": 11383// CHECK-NEXT: }1384// CHECK-NEXT: },1385// CHECK-NEXT: "inner": [1386// CHECK-NEXT: {1387// CHECK-NEXT: "id": "0x{{.*}}",1388// CHECK-NEXT: "kind": "ImplicitCastExpr",1389// CHECK-NEXT: "range": {1390// CHECK-NEXT: "begin": {1391// CHECK-NEXT: "offset": 1186,1392// CHECK-NEXT: "col": 51,1393// CHECK-NEXT: "tokLen": 11394// CHECK-NEXT: },1395// CHECK-NEXT: "end": {1396// CHECK-NEXT: "offset": 1186,1397// CHECK-NEXT: "col": 51,1398// CHECK-NEXT: "tokLen": 11399// CHECK-NEXT: }1400// CHECK-NEXT: },1401// CHECK-NEXT: "type": {1402// CHECK-NEXT: "qualType": "int"1403// CHECK-NEXT: },1404// CHECK-NEXT: "valueCategory": "prvalue",1405// CHECK-NEXT: "castKind": "IntegralCast",1406// CHECK-NEXT: "inner": [1407// CHECK-NEXT: {1408// CHECK-NEXT: "id": "0x{{.*}}",1409// CHECK-NEXT: "kind": "ImplicitCastExpr",1410// CHECK-NEXT: "range": {1411// CHECK-NEXT: "begin": {1412// CHECK-NEXT: "offset": 1186,1413// CHECK-NEXT: "col": 51,1414// CHECK-NEXT: "tokLen": 11415// CHECK-NEXT: },1416// CHECK-NEXT: "end": {1417// CHECK-NEXT: "offset": 1186,1418// CHECK-NEXT: "col": 51,1419// CHECK-NEXT: "tokLen": 11420// CHECK-NEXT: }1421// CHECK-NEXT: },1422// CHECK-NEXT: "type": {1423// CHECK-NEXT: "qualType": "enum Enum"1424// CHECK-NEXT: },1425// CHECK-NEXT: "valueCategory": "prvalue",1426// CHECK-NEXT: "castKind": "LValueToRValue",1427// CHECK-NEXT: "inner": [1428// CHECK-NEXT: {1429// CHECK-NEXT: "id": "0x{{.*}}",1430// CHECK-NEXT: "kind": "DeclRefExpr",1431// CHECK-NEXT: "range": {1432// CHECK-NEXT: "begin": {1433// CHECK-NEXT: "offset": 1186,1434// CHECK-NEXT: "col": 51,1435// CHECK-NEXT: "tokLen": 11436// CHECK-NEXT: },1437// CHECK-NEXT: "end": {1438// CHECK-NEXT: "offset": 1186,1439// CHECK-NEXT: "col": 51,1440// CHECK-NEXT: "tokLen": 11441// CHECK-NEXT: }1442// CHECK-NEXT: },1443// CHECK-NEXT: "type": {1444// CHECK-NEXT: "qualType": "enum Enum"1445// CHECK-NEXT: },1446// CHECK-NEXT: "valueCategory": "lvalue",1447// CHECK-NEXT: "referencedDecl": {1448// CHECK-NEXT: "id": "0x{{.*}}",1449// CHECK-NEXT: "kind": "ParmVarDecl",1450// CHECK-NEXT: "name": "x",1451// CHECK-NEXT: "type": {1452// CHECK-NEXT: "qualType": "enum Enum"1453// CHECK-NEXT: }1454// CHECK-NEXT: }1455// CHECK-NEXT: }1456// CHECK-NEXT: ]1457// CHECK-NEXT: }1458// CHECK-NEXT: ]1459// CHECK-NEXT: }1460// CHECK-NEXT: ]1461// CHECK-NEXT: }1462// CHECK-NEXT: ]1463// CHECK-NEXT: }1464// CHECK-NEXT: ]1465// CHECK-NEXT: }1466 1467 1468// CHECK-NOT: {{^}}Dumping1469// CHECK: "kind": "FunctionDecl",1470// CHECK-NEXT: "loc": {1471// CHECK-NEXT: "offset": 1195,1472// CHECK-NEXT: "file": "{{.*}}",1473// CHECK-NEXT: "line": 75,1474// CHECK-NEXT: "col": 5,1475// CHECK-NEXT: "tokLen": 211476// CHECK-NEXT: },1477// CHECK-NEXT: "range": {1478// CHECK-NEXT: "begin": {1479// CHECK-NEXT: "offset": 1191,1480// CHECK-NEXT: "col": 1,1481// CHECK-NEXT: "tokLen": 31482// CHECK-NEXT: },1483// CHECK-NEXT: "end": {1484// CHECK-NEXT: "offset": 1222,1485// CHECK-NEXT: "col": 32,1486// CHECK-NEXT: "tokLen": 11487// CHECK-NEXT: }1488// CHECK-NEXT: },1489// CHECK-NEXT: "name": "TestFunctionDeclProto",1490// CHECK-NEXT: "mangledName": "TestFunctionDeclProto",1491// CHECK-NEXT: "type": {1492// CHECK-NEXT: "qualType": "int (int)"1493// CHECK-NEXT: },1494// CHECK-NEXT: "inner": [1495// CHECK-NEXT: {1496// CHECK-NEXT: "id": "0x{{.*}}",1497// CHECK-NEXT: "kind": "ParmVarDecl",1498// CHECK-NEXT: "loc": {1499// CHECK-NEXT: "offset": 1221,1500// CHECK-NEXT: "col": 31,1501// CHECK-NEXT: "tokLen": 11502// CHECK-NEXT: },1503// CHECK-NEXT: "range": {1504// CHECK-NEXT: "begin": {1505// CHECK-NEXT: "offset": 1217,1506// CHECK-NEXT: "col": 27,1507// CHECK-NEXT: "tokLen": 31508// CHECK-NEXT: },1509// CHECK-NEXT: "end": {1510// CHECK-NEXT: "offset": 1221,1511// CHECK-NEXT: "col": 31,1512// CHECK-NEXT: "tokLen": 11513// CHECK-NEXT: }1514// CHECK-NEXT: },1515// CHECK-NEXT: "name": "x",1516// CHECK-NEXT: "type": {1517// CHECK-NEXT: "qualType": "int"1518// CHECK-NEXT: }1519// CHECK-NEXT: }1520// CHECK-NEXT: ]1521// CHECK-NEXT: }1522 1523 1524// CHECK-NOT: {{^}}Dumping1525// CHECK: "kind": "FunctionDecl",1526// CHECK-NEXT: "loc": {1527// CHECK-NEXT: "offset": 1230,1528// CHECK-NEXT: "file": "{{.*}}",1529// CHECK-NEXT: "line": 76,1530// CHECK-NEXT: "col": 6,1531// CHECK-NEXT: "tokLen": 231532// CHECK-NEXT: },1533// CHECK-NEXT: "range": {1534// CHECK-NEXT: "begin": {1535// CHECK-NEXT: "offset": 1225,1536// CHECK-NEXT: "col": 1,1537// CHECK-NEXT: "tokLen": 41538// CHECK-NEXT: },1539// CHECK-NEXT: "end": {1540// CHECK-NEXT: "offset": 1254,1541// CHECK-NEXT: "col": 30,1542// CHECK-NEXT: "tokLen": 11543// CHECK-NEXT: }1544// CHECK-NEXT: },1545// CHECK-NEXT: "name": "TestFunctionDeclNoProto",1546// CHECK-NEXT: "mangledName": "TestFunctionDeclNoProto",1547// CHECK-NEXT: "type": {1548// CHECK-NEXT: "qualType": "void ()"1549// CHECK-NEXT: }1550// CHECK-NEXT: }1551 1552 1553// CHECK-NOT: {{^}}Dumping1554// CHECK: "kind": "FunctionDecl",1555// CHECK-NEXT: "loc": {1556// CHECK-NEXT: "offset": 1268,1557// CHECK-NEXT: "file": "{{.*}}",1558// CHECK-NEXT: "line": 77,1559// CHECK-NEXT: "col": 12,1560// CHECK-NEXT: "tokLen": 181561// CHECK-NEXT: },1562// CHECK-NEXT: "range": {1563// CHECK-NEXT: "begin": {1564// CHECK-NEXT: "offset": 1257,1565// CHECK-NEXT: "col": 1,1566// CHECK-NEXT: "tokLen": 61567// CHECK-NEXT: },1568// CHECK-NEXT: "end": {1569// CHECK-NEXT: "offset": 1291,1570// CHECK-NEXT: "col": 35,1571// CHECK-NEXT: "tokLen": 11572// CHECK-NEXT: }1573// CHECK-NEXT: },1574// CHECK-NEXT: "name": "TestFunctionDeclSC",1575// CHECK-NEXT: "mangledName": "TestFunctionDeclSC",1576// CHECK-NEXT: "type": {1577// CHECK-NEXT: "qualType": "int (void)"1578// CHECK-NEXT: },1579// CHECK-NEXT: "storageClass": "extern"1580// CHECK-NEXT: }1581 1582 1583// CHECK-NOT: {{^}}Dumping1584// CHECK: "kind": "FunctionDecl",1585// CHECK-NEXT: "loc": {1586// CHECK-NEXT: "offset": 1305,1587// CHECK-NEXT: "file": "{{.*}}",1588// CHECK-NEXT: "line": 78,1589// CHECK-NEXT: "col": 12,1590// CHECK-NEXT: "tokLen": 221591// CHECK-NEXT: },1592// CHECK-NEXT: "range": {1593// CHECK-NEXT: "begin": {1594// CHECK-NEXT: "offset": 1294,1595// CHECK-NEXT: "col": 1,1596// CHECK-NEXT: "tokLen": 61597// CHECK-NEXT: },1598// CHECK-NEXT: "end": {1599// CHECK-NEXT: "offset": 1332,1600// CHECK-NEXT: "col": 39,1601// CHECK-NEXT: "tokLen": 11602// CHECK-NEXT: }1603// CHECK-NEXT: },1604// CHECK-NEXT: "name": "TestFunctionDeclInline",1605// CHECK-NEXT: "mangledName": "TestFunctionDeclInline",1606// CHECK-NEXT: "type": {1607// CHECK-NEXT: "qualType": "int (void)"1608// CHECK-NEXT: },1609// CHECK-NEXT: "inline": true1610// CHECK-NEXT: }1611 1612 1613// CHECK-NOT: {{^}}Dumping1614// CHECK: "kind": "FieldDecl",1615// CHECK-NEXT: "loc": {1616// CHECK-NEXT: "offset": 1365,1617// CHECK-NEXT: "file": "{{.*}}",1618// CHECK-NEXT: "line": 81,1619// CHECK-NEXT: "col": 7,1620// CHECK-NEXT: "tokLen": 131621// CHECK-NEXT: },1622// CHECK-NEXT: "range": {1623// CHECK-NEXT: "begin": {1624// CHECK-NEXT: "offset": 1361,1625// CHECK-NEXT: "col": 3,1626// CHECK-NEXT: "tokLen": 31627// CHECK-NEXT: },1628// CHECK-NEXT: "end": {1629// CHECK-NEXT: "offset": 1365,1630// CHECK-NEXT: "col": 7,1631// CHECK-NEXT: "tokLen": 131632// CHECK-NEXT: }1633// CHECK-NEXT: },1634// CHECK-NEXT: "name": "TestFieldDecl",1635// CHECK-NEXT: "type": {1636// CHECK-NEXT: "qualType": "int"1637// CHECK-NEXT: }1638// CHECK-NEXT: }1639 1640 1641// CHECK-NOT: {{^}}Dumping1642// CHECK: "kind": "FieldDecl",1643// CHECK-NEXT: "loc": {1644// CHECK-NEXT: "offset": 1386,1645// CHECK-NEXT: "file": "{{.*}}",1646// CHECK-NEXT: "line": 82,1647// CHECK-NEXT: "col": 7,1648// CHECK-NEXT: "tokLen": 181649// CHECK-NEXT: },1650// CHECK-NEXT: "range": {1651// CHECK-NEXT: "begin": {1652// CHECK-NEXT: "offset": 1382,1653// CHECK-NEXT: "col": 3,1654// CHECK-NEXT: "tokLen": 31655// CHECK-NEXT: },1656// CHECK-NEXT: "end": {1657// CHECK-NEXT: "offset": 1407,1658// CHECK-NEXT: "col": 28,1659// CHECK-NEXT: "tokLen": 11660// CHECK-NEXT: }1661// CHECK-NEXT: },1662// CHECK-NEXT: "name": "TestFieldDeclWidth",1663// CHECK-NEXT: "type": {1664// CHECK-NEXT: "qualType": "int"1665// CHECK-NEXT: },1666// CHECK-NEXT: "isBitfield": true,1667// CHECK-NEXT: "inner": [1668// CHECK-NEXT: {1669// CHECK-NEXT: "id": "0x{{.*}}",1670// CHECK-NEXT: "kind": "ConstantExpr",1671// CHECK-NEXT: "range": {1672// CHECK-NEXT: "begin": {1673// CHECK-NEXT: "offset": 1407,1674// CHECK-NEXT: "col": 28,1675// CHECK-NEXT: "tokLen": 11676// CHECK-NEXT: },1677// CHECK-NEXT: "end": {1678// CHECK-NEXT: "offset": 1407,1679// CHECK-NEXT: "col": 28,1680// CHECK-NEXT: "tokLen": 11681// CHECK-NEXT: }1682// CHECK-NEXT: },1683// CHECK-NEXT: "type": {1684// CHECK-NEXT: "qualType": "int"1685// CHECK-NEXT: },1686// CHECK-NEXT: "valueCategory": "prvalue",1687// CHECK-NEXT: "value": "1",1688// CHECK-NEXT: "inner": [1689// CHECK-NEXT: {1690// CHECK-NEXT: "id": "0x{{.*}}",1691// CHECK-NEXT: "kind": "IntegerLiteral",1692// CHECK-NEXT: "range": {1693// CHECK-NEXT: "begin": {1694// CHECK-NEXT: "offset": 1407,1695// CHECK-NEXT: "col": 28,1696// CHECK-NEXT: "tokLen": 11697// CHECK-NEXT: },1698// CHECK-NEXT: "end": {1699// CHECK-NEXT: "offset": 1407,1700// CHECK-NEXT: "col": 28,1701// CHECK-NEXT: "tokLen": 11702// CHECK-NEXT: }1703// CHECK-NEXT: },1704// CHECK-NEXT: "type": {1705// CHECK-NEXT: "qualType": "int"1706// CHECK-NEXT: },1707// CHECK-NEXT: "valueCategory": "prvalue",1708// CHECK-NEXT: "value": "1"1709// CHECK-NEXT: }1710// CHECK-NEXT: ]1711// CHECK-NEXT: }1712// CHECK-NEXT: ]1713// CHECK-NEXT: }1714 1715 1716// CHECK-NOT: {{^}}Dumping1717// CHECK: "kind": "VarDecl",1718// CHECK-NEXT: "loc": {1719// CHECK-NEXT: "offset": 1418,1720// CHECK-NEXT: "file": "{{.*}}",1721// CHECK-NEXT: "line": 85,1722// CHECK-NEXT: "col": 5,1723// CHECK-NEXT: "tokLen": 111724// CHECK-NEXT: },1725// CHECK-NEXT: "range": {1726// CHECK-NEXT: "begin": {1727// CHECK-NEXT: "offset": 1414,1728// CHECK-NEXT: "col": 1,1729// CHECK-NEXT: "tokLen": 31730// CHECK-NEXT: },1731// CHECK-NEXT: "end": {1732// CHECK-NEXT: "offset": 1418,1733// CHECK-NEXT: "col": 5,1734// CHECK-NEXT: "tokLen": 111735// CHECK-NEXT: }1736// CHECK-NEXT: },1737// CHECK-NEXT: "name": "TestVarDecl",1738// CHECK-NEXT: "mangledName": "TestVarDecl",1739// CHECK-NEXT: "type": {1740// CHECK-NEXT: "qualType": "int"1741// CHECK-NEXT: }1742// CHECK-NEXT: }1743 1744 1745// CHECK-NOT: {{^}}Dumping1746// CHECK: "kind": "VarDecl",1747// CHECK-NEXT: "loc": {1748// CHECK-NEXT: "offset": 1442,1749// CHECK-NEXT: "file": "{{.*}}",1750// CHECK-NEXT: "line": 86,1751// CHECK-NEXT: "col": 12,1752// CHECK-NEXT: "tokLen": 131753// CHECK-NEXT: },1754// CHECK-NEXT: "range": {1755// CHECK-NEXT: "begin": {1756// CHECK-NEXT: "offset": 1431,1757// CHECK-NEXT: "col": 1,1758// CHECK-NEXT: "tokLen": 61759// CHECK-NEXT: },1760// CHECK-NEXT: "end": {1761// CHECK-NEXT: "offset": 1442,1762// CHECK-NEXT: "col": 12,1763// CHECK-NEXT: "tokLen": 131764// CHECK-NEXT: }1765// CHECK-NEXT: },1766// CHECK-NEXT: "name": "TestVarDeclSC",1767// CHECK-NEXT: "mangledName": "TestVarDeclSC",1768// CHECK-NEXT: "type": {1769// CHECK-NEXT: "qualType": "int"1770// CHECK-NEXT: },1771// CHECK-NEXT: "storageClass": "extern"1772// CHECK-NEXT: }1773 1774 1775// CHECK-NOT: {{^}}Dumping1776// CHECK: "kind": "VarDecl",1777// CHECK-NEXT: "loc": {1778// CHECK-NEXT: "offset": 1470,1779// CHECK-NEXT: "file": "{{.*}}",1780// CHECK-NEXT: "line": 87,1781// CHECK-NEXT: "col": 14,1782// CHECK-NEXT: "tokLen": 171783// CHECK-NEXT: },1784// CHECK-NEXT: "range": {1785// CHECK-NEXT: "begin": {1786// CHECK-NEXT: "offset": 1457,1787// CHECK-NEXT: "col": 1,1788// CHECK-NEXT: "tokLen": 81789// CHECK-NEXT: },1790// CHECK-NEXT: "end": {1791// CHECK-NEXT: "offset": 1470,1792// CHECK-NEXT: "col": 14,1793// CHECK-NEXT: "tokLen": 171794// CHECK-NEXT: }1795// CHECK-NEXT: },1796// CHECK-NEXT: "name": "TestVarDeclThread",1797// CHECK-NEXT: "mangledName": "TestVarDeclThread",1798// CHECK-NEXT: "type": {1799// CHECK-NEXT: "qualType": "int"1800// CHECK-NEXT: },1801// CHECK-NEXT: "tls": "static"1802// CHECK-NEXT: }1803 1804 1805// CHECK-NOT: {{^}}Dumping1806// CHECK: "kind": "VarDecl",1807// CHECK-NEXT: "loc": {1808// CHECK-NEXT: "offset": 1493,1809// CHECK-NEXT: "file": "{{.*}}",1810// CHECK-NEXT: "line": 88,1811// CHECK-NEXT: "col": 5,1812// CHECK-NEXT: "tokLen": 151813// CHECK-NEXT: },1814// CHECK-NEXT: "range": {1815// CHECK-NEXT: "begin": {1816// CHECK-NEXT: "offset": 1489,1817// CHECK-NEXT: "col": 1,1818// CHECK-NEXT: "tokLen": 31819// CHECK-NEXT: },1820// CHECK-NEXT: "end": {1821// CHECK-NEXT: "offset": 1511,1822// CHECK-NEXT: "col": 23,1823// CHECK-NEXT: "tokLen": 11824// CHECK-NEXT: }1825// CHECK-NEXT: },1826// CHECK-NEXT: "name": "TestVarDeclInit",1827// CHECK-NEXT: "mangledName": "TestVarDeclInit",1828// CHECK-NEXT: "type": {1829// CHECK-NEXT: "qualType": "int"1830// CHECK-NEXT: },1831// CHECK-NEXT: "init": "c",1832// CHECK-NEXT: "inner": [1833// CHECK-NEXT: {1834// CHECK-NEXT: "id": "0x{{.*}}",1835// CHECK-NEXT: "kind": "IntegerLiteral",1836// CHECK-NEXT: "range": {1837// CHECK-NEXT: "begin": {1838// CHECK-NEXT: "offset": 1511,1839// CHECK-NEXT: "col": 23,1840// CHECK-NEXT: "tokLen": 11841// CHECK-NEXT: },1842// CHECK-NEXT: "end": {1843// CHECK-NEXT: "offset": 1511,1844// CHECK-NEXT: "col": 23,1845// CHECK-NEXT: "tokLen": 11846// CHECK-NEXT: }1847// CHECK-NEXT: },1848// CHECK-NEXT: "type": {1849// CHECK-NEXT: "qualType": "int"1850// CHECK-NEXT: },1851// CHECK-NEXT: "valueCategory": "prvalue",1852// CHECK-NEXT: "value": "0"1853// CHECK-NEXT: }1854// CHECK-NEXT: ]1855// CHECK-NEXT: }1856 1857 1858// CHECK-NOT: {{^}}Dumping1859// CHECK: "kind": "ParmVarDecl",1860// CHECK-NEXT: "loc": {1861// CHECK-NEXT: "offset": 1540,1862// CHECK-NEXT: "file": "{{.*}}",1863// CHECK-NEXT: "line": 90,1864// CHECK-NEXT: "col": 26,1865// CHECK-NEXT: "tokLen": 151866// CHECK-NEXT: },1867// CHECK-NEXT: "range": {1868// CHECK-NEXT: "begin": {1869// CHECK-NEXT: "offset": 1536,1870// CHECK-NEXT: "col": 22,1871// CHECK-NEXT: "tokLen": 31872// CHECK-NEXT: },1873// CHECK-NEXT: "end": {1874// CHECK-NEXT: "offset": 1540,1875// CHECK-NEXT: "col": 26,1876// CHECK-NEXT: "tokLen": 151877// CHECK-NEXT: }1878// CHECK-NEXT: },1879// CHECK-NEXT: "name": "TestParmVarDecl",1880// CHECK-NEXT: "type": {1881// CHECK-NEXT: "qualType": "int"1882// CHECK-NEXT: }1883// CHECK-NEXT: }1884