brintos

brintos / llvm-project-archived public Read only

0
0
Text · 33.0 KiB · f4949a9 Raw
930 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsyntax-only -ast-dump=json %s | FileCheck %s2 3struct A {4  int arr[1];5};6 7struct B {8  const A &a = A{{0}};9};10 11void test() {12  B b{};13}14 15// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py16 17 18// CHECK-NOT: {{^}}Dumping19// 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": 1179// CHECK-NEXT:    },180// CHECK-NEXT:    "range": {181// CHECK-NEXT:     "begin": {182// CHECK-NEXT:      "offset": 92,183// CHECK-NEXT:      "col": 1,184// CHECK-NEXT:      "tokLen": 6185// 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": 1191// 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": true205// 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": true212// CHECK-NEXT:     },213// CHECK-NEXT:     "defaultCtor": {214// CHECK-NEXT:      "exists": true,215// CHECK-NEXT:      "needsImplicit": true,216// CHECK-NEXT:      "trivial": true217// CHECK-NEXT:     },218// CHECK-NEXT:     "dtor": {219// CHECK-NEXT:      "irrelevant": true,220// CHECK-NEXT:      "simple": true,221// CHECK-NEXT:      "trivial": true222// 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": true234// 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": true240// 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": 1251// CHECK-NEXT:      },252// CHECK-NEXT:      "range": {253// CHECK-NEXT:       "begin": {254// CHECK-NEXT:        "offset": 92,255// CHECK-NEXT:        "col": 1,256// CHECK-NEXT:        "tokLen": 6257// CHECK-NEXT:       },258// CHECK-NEXT:       "end": {259// CHECK-NEXT:        "offset": 99,260// CHECK-NEXT:        "col": 8,261// CHECK-NEXT:        "tokLen": 1262// 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": 3276// CHECK-NEXT:      },277// CHECK-NEXT:      "range": {278// CHECK-NEXT:       "begin": {279// CHECK-NEXT:        "offset": 105,280// CHECK-NEXT:        "col": 3,281// CHECK-NEXT:        "tokLen": 3282// CHECK-NEXT:       },283// CHECK-NEXT:       "end": {284// CHECK-NEXT:        "offset": 114,285// CHECK-NEXT:        "col": 12,286// CHECK-NEXT:        "tokLen": 1287// 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": 1302// CHECK-NEXT:      },303// CHECK-NEXT:      "range": {304// CHECK-NEXT:       "begin": {305// CHECK-NEXT:        "offset": 99,306// CHECK-NEXT:        "col": 8,307// CHECK-NEXT:        "tokLen": 1308// CHECK-NEXT:       },309// CHECK-NEXT:       "end": {310// CHECK-NEXT:        "offset": 99,311// CHECK-NEXT:        "col": 8,312// CHECK-NEXT:        "tokLen": 1313// 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": 1335// CHECK-NEXT:    },336// CHECK-NEXT:    "range": {337// CHECK-NEXT:     "begin": {338// CHECK-NEXT:      "offset": 121,339// CHECK-NEXT:      "col": 1,340// CHECK-NEXT:      "tokLen": 6341// 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": 1347// 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": true361// 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": true368// 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": true375// 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": true381// 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": true390// 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": true396// 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": 1407// CHECK-NEXT:      },408// CHECK-NEXT:      "range": {409// CHECK-NEXT:       "begin": {410// CHECK-NEXT:        "offset": 121,411// CHECK-NEXT:        "col": 1,412// CHECK-NEXT:        "tokLen": 6413// CHECK-NEXT:       },414// CHECK-NEXT:       "end": {415// CHECK-NEXT:        "offset": 128,416// CHECK-NEXT:        "col": 8,417// CHECK-NEXT:        "tokLen": 1418// 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": 1432// CHECK-NEXT:      },433// CHECK-NEXT:      "range": {434// CHECK-NEXT:       "begin": {435// CHECK-NEXT:        "offset": 134,436// CHECK-NEXT:        "col": 3,437// CHECK-NEXT:        "tokLen": 5438// CHECK-NEXT:       },439// CHECK-NEXT:       "end": {440// CHECK-NEXT:        "offset": 152,441// CHECK-NEXT:        "col": 21,442// CHECK-NEXT:        "tokLen": 1443// 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": 1459// CHECK-NEXT:         },460// CHECK-NEXT:         "end": {461// CHECK-NEXT:          "offset": 152,462// CHECK-NEXT:          "col": 21,463// CHECK-NEXT:          "tokLen": 1464// 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": 1479// CHECK-NEXT:           },480// CHECK-NEXT:           "end": {481// CHECK-NEXT:            "offset": 152,482// CHECK-NEXT:            "col": 21,483// CHECK-NEXT:            "tokLen": 1484// 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": 1509// CHECK-NEXT:             },510// CHECK-NEXT:             "end": {511// CHECK-NEXT:              "offset": 152,512// CHECK-NEXT:              "col": 21,513// CHECK-NEXT:              "tokLen": 1514// 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": 1530// CHECK-NEXT:               },531// CHECK-NEXT:               "end": {532// CHECK-NEXT:                "offset": 152,533// CHECK-NEXT:                "col": 21,534// CHECK-NEXT:                "tokLen": 1535// 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": 1551// CHECK-NEXT:                 },552// CHECK-NEXT:                 "end": {553// CHECK-NEXT:                  "offset": 152,554// CHECK-NEXT:                  "col": 21,555// CHECK-NEXT:                  "tokLen": 1556// 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": 1571// CHECK-NEXT:                   },572// CHECK-NEXT:                   "end": {573// CHECK-NEXT:                    "offset": 151,574// CHECK-NEXT:                    "col": 20,575// CHECK-NEXT:                    "tokLen": 1576// 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": 1591// CHECK-NEXT:                     },592// CHECK-NEXT:                     "end": {593// CHECK-NEXT:                      "offset": 150,594// CHECK-NEXT:                      "col": 19,595// CHECK-NEXT:                      "tokLen": 1596// 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": 4628// CHECK-NEXT:    },629// CHECK-NEXT:    "range": {630// CHECK-NEXT:     "begin": {631// CHECK-NEXT:      "offset": 159,632// CHECK-NEXT:      "col": 1,633// CHECK-NEXT:      "tokLen": 4634// 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": 1640// 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": 1657// 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": 1663// 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": 1675// CHECK-NEXT:         },676// CHECK-NEXT:         "end": {677// CHECK-NEXT:          "offset": 180,678// CHECK-NEXT:          "col": 8,679// CHECK-NEXT:          "tokLen": 1680// 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": 1690// CHECK-NEXT:          },691// CHECK-NEXT:          "range": {692// CHECK-NEXT:           "begin": {693// CHECK-NEXT:            "offset": 175,694// CHECK-NEXT:            "col": 3,695// CHECK-NEXT:            "tokLen": 1696// CHECK-NEXT:           },697// CHECK-NEXT:           "end": {698// CHECK-NEXT:            "offset": 179,699// CHECK-NEXT:            "col": 7,700// CHECK-NEXT:            "tokLen": 1701// 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": 1717// CHECK-NEXT:             },718// CHECK-NEXT:             "end": {719// CHECK-NEXT:              "offset": 179,720// CHECK-NEXT:              "col": 7,721// CHECK-NEXT:              "tokLen": 1722// 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": 1737// CHECK-NEXT:               },738// CHECK-NEXT:               "end": {739// CHECK-NEXT:                "offset": 179,740// CHECK-NEXT:                "col": 7,741// CHECK-NEXT:                "tokLen": 1742// 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": 1759// CHECK-NEXT:                 },760// CHECK-NEXT:                 "end": {761// CHECK-NEXT:                  "offset": 152,762// CHECK-NEXT:                  "col": 21,763// CHECK-NEXT:                  "tokLen": 1764// 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": 1779// CHECK-NEXT:                   },780// CHECK-NEXT:                   "end": {781// CHECK-NEXT:                    "offset": 152,782// CHECK-NEXT:                    "col": 21,783// CHECK-NEXT:                    "tokLen": 1784// 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": 1809// CHECK-NEXT:                     },810// CHECK-NEXT:                     "end": {811// CHECK-NEXT:                      "offset": 152,812// CHECK-NEXT:                      "col": 21,813// CHECK-NEXT:                      "tokLen": 1814// 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": 1830// CHECK-NEXT:                       },831// CHECK-NEXT:                       "end": {832// CHECK-NEXT:                        "offset": 152,833// CHECK-NEXT:                        "col": 21,834// CHECK-NEXT:                        "tokLen": 1835// 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": 1851// CHECK-NEXT:                         },852// CHECK-NEXT:                         "end": {853// CHECK-NEXT:                          "offset": 152,854// CHECK-NEXT:                          "col": 21,855// CHECK-NEXT:                          "tokLen": 1856// 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": 1871// CHECK-NEXT:                           },872// CHECK-NEXT:                           "end": {873// CHECK-NEXT:                            "offset": 151,874// CHECK-NEXT:                            "col": 20,875// CHECK-NEXT:                            "tokLen": 1876// 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": 1891// CHECK-NEXT:                             },892// CHECK-NEXT:                             "end": {893// CHECK-NEXT:                              "offset": 150,894// CHECK-NEXT:                              "col": 19,895// CHECK-NEXT:                              "tokLen": 1896// 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: }930