brintos

brintos / llvm-project-archived public Read only

0
0
Text · 160.9 KiB · e35bec7 Raw
5319 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-unknown-unknown -fclang-abi-compat=7.0 -std=c++17 -ast-dump=json %s | FileCheck %s2 3void f() {4  auto IsNotGenericLambda = [](){};5  auto IsGenericLambda = [](auto){};6}7 8struct CanPassInRegisters {9  CanPassInRegisters(const CanPassInRegisters&) = default;10};11 12struct CantPassInRegisters {13  CantPassInRegisters(const CantPassInRegisters&) = delete;14};15 16struct IsEmpty {17};18 19struct IsNotEmpty {20  int a;21};22 23struct IsAggregate {24  int a;25};26 27struct IsNotAggregate {28private:29  int a;30};31 32struct IsStandardLayout {33  void f();34};35 36struct IsNotStandardLayout {37  virtual void f();38};39 40struct IsTriviallyCopyable {41};42 43struct IsNotTriviallyCopyable {44  IsNotTriviallyCopyable(const IsNotTriviallyCopyable&) {}45};46 47struct IsPOD {48  int a;49};50 51struct IsNotPOD {52  int &a;53};54 55struct IsTrivial {56  IsTrivial() = default;57};58 59struct IsNotTrivial {60  IsNotTrivial() {}61};62 63struct IsPolymorphic {64  virtual void f();65};66 67struct IsNotPolymorphic {68  void f();69};70 71struct IsAbstract {72  virtual void f() = 0;73};74 75struct IsNotAbstract {76  virtual void f();77};78 79struct IsLiteral {80  ~IsLiteral() = default;81};82 83struct IsNotLiteral {84  ~IsNotLiteral() {}85};86 87struct HasUserDeclaredConstructor {88  HasUserDeclaredConstructor() {}89};90 91struct HasNoUserDeclaredConstructor {92};93 94struct HasConstexprNonCopyMoveConstructor {95  constexpr HasConstexprNonCopyMoveConstructor() {}96};97 98struct HasNoConstexprNonCopyMoveConstructor {99  HasNoConstexprNonCopyMoveConstructor() {}100};101 102struct HasMutableFields {103  mutable int i;104};105 106struct HasNoMutableFields {107  int i;108};109 110struct HasVariantMembers {111  union {112    int i;113  };114};115 116struct HasNoVariantMembers {117};118 119struct AllowsConstDefaultInit {120  int i = 12;121};122 123struct DoesNotAllowConstDefaultInit {124  int i;125};126 127// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py128// using --filters=CXXRecordDecl129 130 131// CHECK-NOT: {{^}}Dumping132// CHECK:  "kind": "CXXRecordDecl",133// CHECK-NEXT:  "name": "__NSConstantString_tag"134// CHECK-NEXT: }135 136 137// CHECK-NOT: {{^}}Dumping138// CHECK:  "kind": "CXXRecordDecl",139// CHECK-NEXT:  "name": "__va_list_tag"140// CHECK-NEXT: }141 142 143// CHECK-NOT: {{^}}Dumping144// CHECK:  "kind": "CXXRecordDecl",145// CHECK-NEXT:  "loc": {146// CHECK-NEXT:   "offset": 157,147// CHECK-NEXT:   "col": 29,148// CHECK-NEXT:   "tokLen": 1149// CHECK-NEXT:  },150// CHECK-NEXT:  "range": {151// CHECK-NEXT:   "begin": {152// CHECK-NEXT:    "offset": 157,153// CHECK-NEXT:    "col": 29,154// CHECK-NEXT:    "tokLen": 1155// CHECK-NEXT:   },156// CHECK-NEXT:   "end": {157// CHECK-NEXT:    "offset": 157,158// CHECK-NEXT:    "col": 29,159// CHECK-NEXT:    "tokLen": 1160// CHECK-NEXT:   }161// CHECK-NEXT:  },162// CHECK-NEXT:  "isImplicit": true,163// CHECK-NEXT:  "tagUsed": "class",164// CHECK-NEXT:  "completeDefinition": true,165// CHECK-NEXT:  "definitionData": {166// CHECK-NEXT:   "canConstDefaultInit": true,167// CHECK-NEXT:   "canPassInRegisters": true,168// CHECK-NEXT:   "copyAssign": {169// CHECK-NEXT:    "hasConstParam": true,170// CHECK-NEXT:    "implicitHasConstParam": true,171// CHECK-NEXT:    "needsImplicit": true,172// CHECK-NEXT:    "trivial": true173// CHECK-NEXT:   },174// CHECK-NEXT:   "copyCtor": {175// CHECK-NEXT:    "hasConstParam": true,176// CHECK-NEXT:    "implicitHasConstParam": true,177// CHECK-NEXT:    "needsImplicit": true,178// CHECK-NEXT:    "simple": true,179// CHECK-NEXT:    "trivial": true180// CHECK-NEXT:   },181// CHECK-NEXT:   "defaultCtor": {182// CHECK-NEXT:    "defaultedIsConstexpr": true183// CHECK-NEXT:   },184// CHECK-NEXT:   "dtor": {185// CHECK-NEXT:    "irrelevant": true,186// CHECK-NEXT:    "simple": true,187// CHECK-NEXT:    "trivial": true188// CHECK-NEXT:   },189// CHECK-NEXT:   "isEmpty": true,190// CHECK-NEXT:   "isLambda": true,191// CHECK-NEXT:   "isLiteral": true,192// CHECK-NEXT:   "isStandardLayout": true,193// CHECK-NEXT:   "isTriviallyCopyable": true,194// CHECK-NEXT:   "moveAssign": {},195// CHECK-NEXT:   "moveCtor": {196// CHECK-NEXT:    "exists": true,197// CHECK-NEXT:    "needsImplicit": true,198// CHECK-NEXT:    "simple": true,199// CHECK-NEXT:    "trivial": true200// CHECK-NEXT:   }201// CHECK-NEXT:  },202// CHECK-NEXT:  "inner": [203// CHECK-NEXT:   {204// CHECK-NEXT:    "id": "0x{{.*}}",205// CHECK-NEXT:    "kind": "CXXMethodDecl",206// CHECK-NEXT:    "loc": {207// CHECK-NEXT:     "offset": 157,208// CHECK-NEXT:     "col": 29,209// CHECK-NEXT:     "tokLen": 1210// CHECK-NEXT:    },211// CHECK-NEXT:    "range": {212// CHECK-NEXT:     "begin": {213// CHECK-NEXT:      "offset": 160,214// CHECK-NEXT:      "col": 32,215// CHECK-NEXT:      "tokLen": 1216// CHECK-NEXT:     },217// CHECK-NEXT:     "end": {218// CHECK-NEXT:      "offset": 162,219// CHECK-NEXT:      "col": 34,220// CHECK-NEXT:      "tokLen": 1221// CHECK-NEXT:     }222// CHECK-NEXT:    },223// CHECK-NEXT:    "name": "operator()",224// CHECK-NEXT:    "mangledName": "_ZZ1fvENK3$_0clEv",225// CHECK-NEXT:    "type": {226// CHECK-NEXT:     "qualType": "void () const"227// CHECK-NEXT:    },228// CHECK-NEXT:    "inline": true,229// CHECK-NEXT:    "constexpr": true,230// CHECK-NEXT:    "inner": [231// CHECK-NEXT:     {232// CHECK-NEXT:      "id": "0x{{.*}}",233// CHECK-NEXT:      "kind": "CompoundStmt",234// CHECK-NEXT:      "range": {235// CHECK-NEXT:       "begin": {236// CHECK-NEXT:        "offset": 161,237// CHECK-NEXT:        "col": 33,238// CHECK-NEXT:        "tokLen": 1239// CHECK-NEXT:       },240// CHECK-NEXT:       "end": {241// CHECK-NEXT:        "offset": 162,242// CHECK-NEXT:        "col": 34,243// CHECK-NEXT:        "tokLen": 1244// CHECK-NEXT:       }245// CHECK-NEXT:      }246// CHECK-NEXT:     }247// CHECK-NEXT:    ]248// CHECK-NEXT:   },249// CHECK-NEXT:   {250// CHECK-NEXT:    "id": "0x{{.*}}",251// CHECK-NEXT:    "kind": "CXXConversionDecl",252// CHECK-NEXT:    "loc": {253// CHECK-NEXT:     "offset": 157,254// CHECK-NEXT:     "col": 29,255// CHECK-NEXT:     "tokLen": 1256// CHECK-NEXT:    },257// CHECK-NEXT:    "range": {258// CHECK-NEXT:     "begin": {259// CHECK-NEXT:      "offset": 157,260// CHECK-NEXT:      "col": 29,261// CHECK-NEXT:      "tokLen": 1262// CHECK-NEXT:     },263// CHECK-NEXT:     "end": {264// CHECK-NEXT:      "offset": 162,265// CHECK-NEXT:      "col": 34,266// CHECK-NEXT:      "tokLen": 1267// CHECK-NEXT:     }268// CHECK-NEXT:    },269// CHECK-NEXT:    "isImplicit": true,270// CHECK-NEXT:    "name": "operator void (*)()",271// CHECK-NEXT:    "mangledName": "_ZZ1fvENK3$_0cvPFvvEEv",272// CHECK-NEXT:    "type": {273// CHECK-NEXT:     "qualType": "void (*() const noexcept)()"274// CHECK-NEXT:    },275// CHECK-NEXT:    "inline": true,276// CHECK-NEXT:    "constexpr": true277// CHECK-NEXT:   },278// CHECK-NEXT:   {279// CHECK-NEXT:    "id": "0x{{.*}}",280// CHECK-NEXT:    "kind": "CXXMethodDecl",281// CHECK-NEXT:    "loc": {282// CHECK-NEXT:     "offset": 157,283// CHECK-NEXT:     "col": 29,284// CHECK-NEXT:     "tokLen": 1285// CHECK-NEXT:    },286// CHECK-NEXT:    "range": {287// CHECK-NEXT:     "begin": {288// CHECK-NEXT:      "offset": 157,289// CHECK-NEXT:      "col": 29,290// CHECK-NEXT:      "tokLen": 1291// CHECK-NEXT:     },292// CHECK-NEXT:     "end": {293// CHECK-NEXT:      "offset": 162,294// CHECK-NEXT:      "col": 34,295// CHECK-NEXT:      "tokLen": 1296// CHECK-NEXT:     }297// CHECK-NEXT:    },298// CHECK-NEXT:    "isImplicit": true,299// CHECK-NEXT:    "name": "__invoke",300// CHECK-NEXT:    "mangledName": "_ZZ1fvEN3$_08__invokeEv",301// CHECK-NEXT:    "type": {302// CHECK-NEXT:     "qualType": "void ()"303// CHECK-NEXT:    },304// CHECK-NEXT:    "storageClass": "static",305// CHECK-NEXT:    "inline": true306// CHECK-NEXT:   },307// CHECK-NEXT:   {308// CHECK-NEXT:    "id": "0x{{.*}}",309// CHECK-NEXT:    "kind": "CXXDestructorDecl",310// CHECK-NEXT:    "loc": {311// CHECK-NEXT:     "offset": 157,312// CHECK-NEXT:     "col": 29,313// CHECK-NEXT:     "tokLen": 1314// CHECK-NEXT:    },315// CHECK-NEXT:    "range": {316// CHECK-NEXT:     "begin": {317// CHECK-NEXT:      "offset": 157,318// CHECK-NEXT:      "col": 29,319// CHECK-NEXT:      "tokLen": 1320// CHECK-NEXT:     },321// CHECK-NEXT:     "end": {322// CHECK-NEXT:      "offset": 157,323// CHECK-NEXT:      "col": 29,324// CHECK-NEXT:      "tokLen": 1325// CHECK-NEXT:     }326// CHECK-NEXT:    },327// CHECK-NEXT:    "isImplicit": true,328// CHECK-NEXT:    "isReferenced": true,329// CHECK-NEXT:    "name": "~(lambda at {{.*}}:4:29)",330// CHECK-NEXT:    "mangledName": "_ZZ1fvEN3$_0D1Ev",331// CHECK-NEXT:    "type": {332// CHECK-NEXT:     "qualType": "void () noexcept"333// CHECK-NEXT:    },334// CHECK-NEXT:    "inline": true,335// CHECK-NEXT:    "explicitlyDefaulted": "default"336// CHECK-NEXT:   }337// CHECK-NEXT:  ]338// CHECK-NEXT: }339 340 341// CHECK-NOT: {{^}}Dumping342// CHECK:  "kind": "CXXRecordDecl",343// CHECK-NEXT:  "loc": {344// CHECK-NEXT:   "offset": 190,345// CHECK-NEXT:   "col": 26,346// CHECK-NEXT:   "tokLen": 1347// CHECK-NEXT:  },348// CHECK-NEXT:  "range": {349// CHECK-NEXT:   "begin": {350// CHECK-NEXT:    "offset": 190,351// CHECK-NEXT:    "col": 26,352// CHECK-NEXT:    "tokLen": 1353// CHECK-NEXT:   },354// CHECK-NEXT:   "end": {355// CHECK-NEXT:    "offset": 190,356// CHECK-NEXT:    "col": 26,357// CHECK-NEXT:    "tokLen": 1358// CHECK-NEXT:   }359// CHECK-NEXT:  },360// CHECK-NEXT:  "isImplicit": true,361// CHECK-NEXT:  "tagUsed": "class",362// CHECK-NEXT:  "completeDefinition": true,363// CHECK-NEXT:  "definitionData": {364// CHECK-NEXT:   "canConstDefaultInit": true,365// CHECK-NEXT:   "canPassInRegisters": true,366// CHECK-NEXT:   "copyAssign": {367// CHECK-NEXT:    "hasConstParam": true,368// CHECK-NEXT:    "implicitHasConstParam": true,369// CHECK-NEXT:    "needsImplicit": true,370// CHECK-NEXT:    "trivial": true371// CHECK-NEXT:   },372// CHECK-NEXT:   "copyCtor": {373// CHECK-NEXT:    "hasConstParam": true,374// CHECK-NEXT:    "implicitHasConstParam": true,375// CHECK-NEXT:    "needsImplicit": true,376// CHECK-NEXT:    "simple": true,377// CHECK-NEXT:    "trivial": true378// CHECK-NEXT:   },379// CHECK-NEXT:   "defaultCtor": {380// CHECK-NEXT:    "defaultedIsConstexpr": true381// CHECK-NEXT:   },382// CHECK-NEXT:   "dtor": {383// CHECK-NEXT:    "irrelevant": true,384// CHECK-NEXT:    "simple": true,385// CHECK-NEXT:    "trivial": true386// CHECK-NEXT:   },387// CHECK-NEXT:   "isEmpty": true,388// CHECK-NEXT:   "isGenericLambda": true,389// CHECK-NEXT:   "isLambda": true,390// CHECK-NEXT:   "isLiteral": true,391// CHECK-NEXT:   "isStandardLayout": true,392// CHECK-NEXT:   "isTriviallyCopyable": true,393// CHECK-NEXT:   "moveAssign": {},394// CHECK-NEXT:   "moveCtor": {395// CHECK-NEXT:    "exists": true,396// CHECK-NEXT:    "needsImplicit": true,397// CHECK-NEXT:    "simple": true,398// CHECK-NEXT:    "trivial": true399// CHECK-NEXT:   }400// CHECK-NEXT:  },401// CHECK-NEXT:  "inner": [402// CHECK-NEXT:   {403// CHECK-NEXT:    "id": "0x{{.*}}",404// CHECK-NEXT:    "kind": "FunctionTemplateDecl",405// CHECK-NEXT:    "loc": {406// CHECK-NEXT:     "offset": 190,407// CHECK-NEXT:     "col": 26,408// CHECK-NEXT:     "tokLen": 1409// CHECK-NEXT:    },410// CHECK-NEXT:    "range": {411// CHECK-NEXT:     "begin": {},412// CHECK-NEXT:     "end": {413// CHECK-NEXT:      "offset": 199,414// CHECK-NEXT:      "col": 35,415// CHECK-NEXT:      "tokLen": 1416// CHECK-NEXT:     }417// CHECK-NEXT:    },418// CHECK-NEXT:    "name": "operator()",419// CHECK-NEXT:    "inner": [420// CHECK-NEXT:     {421// CHECK-NEXT:      "id": "0x{{.*}}",422// CHECK-NEXT:      "kind": "TemplateTypeParmDecl",423// CHECK-NEXT:      "loc": {424// CHECK-NEXT:       "offset": 197,425// CHECK-NEXT:       "col": 33,426// CHECK-NEXT:       "tokLen": 1427// CHECK-NEXT:      },428// CHECK-NEXT:      "range": {429// CHECK-NEXT:       "begin": {430// CHECK-NEXT:        "offset": 193,431// CHECK-NEXT:        "col": 29,432// CHECK-NEXT:        "tokLen": 4433// CHECK-NEXT:       },434// CHECK-NEXT:       "end": {435// CHECK-NEXT:        "offset": 197,436// CHECK-NEXT:        "col": 33,437// CHECK-NEXT:        "tokLen": 1438// CHECK-NEXT:       }439// CHECK-NEXT:      },440// CHECK-NEXT:      "isImplicit": true,441// CHECK-NEXT:      "name": "auto:1",442// CHECK-NEXT:      "tagUsed": "class",443// CHECK-NEXT:      "depth": 0,444// CHECK-NEXT:      "index": 0445// CHECK-NEXT:     },446// CHECK-NEXT:     {447// CHECK-NEXT:      "id": "0x{{.*}}",448// CHECK-NEXT:      "kind": "CXXMethodDecl",449// CHECK-NEXT:      "loc": {450// CHECK-NEXT:       "offset": 190,451// CHECK-NEXT:       "col": 26,452// CHECK-NEXT:       "tokLen": 1453// CHECK-NEXT:      },454// CHECK-NEXT:      "range": {455// CHECK-NEXT:       "begin": {456// CHECK-NEXT:        "offset": 197,457// CHECK-NEXT:        "col": 33,458// CHECK-NEXT:        "tokLen": 1459// CHECK-NEXT:       },460// CHECK-NEXT:       "end": {461// CHECK-NEXT:        "offset": 199,462// CHECK-NEXT:        "col": 35,463// CHECK-NEXT:        "tokLen": 1464// CHECK-NEXT:       }465// CHECK-NEXT:      },466// CHECK-NEXT:      "name": "operator()",467// CHECK-NEXT:      "type": {468// CHECK-NEXT:       "qualType": "auto (auto) const"469// CHECK-NEXT:      },470// CHECK-NEXT:      "inline": true,471// CHECK-NEXT:      "constexpr": true,472// CHECK-NEXT:      "inner": [473// CHECK-NEXT:       {474// CHECK-NEXT:        "id": "0x{{.*}}",475// CHECK-NEXT:        "kind": "ParmVarDecl",476// CHECK-NEXT:        "loc": {477// CHECK-NEXT:         "offset": 197,478// CHECK-NEXT:         "col": 33,479// CHECK-NEXT:         "tokLen": 1480// CHECK-NEXT:        },481// CHECK-NEXT:        "range": {482// CHECK-NEXT:         "begin": {483// CHECK-NEXT:          "offset": 193,484// CHECK-NEXT:          "col": 29,485// CHECK-NEXT:          "tokLen": 4486// CHECK-NEXT:         },487// CHECK-NEXT:         "end": {488// CHECK-NEXT:          "offset": 193,489// CHECK-NEXT:          "col": 29,490// CHECK-NEXT:          "tokLen": 4491// CHECK-NEXT:         }492// CHECK-NEXT:        },493// CHECK-NEXT:        "type": {494// CHECK-NEXT:         "qualType": "auto"495// CHECK-NEXT:        }496// CHECK-NEXT:       },497// CHECK-NEXT:       {498// CHECK-NEXT:        "id": "0x{{.*}}",499// CHECK-NEXT:        "kind": "CompoundStmt",500// CHECK-NEXT:        "range": {501// CHECK-NEXT:         "begin": {502// CHECK-NEXT:          "offset": 198,503// CHECK-NEXT:          "col": 34,504// CHECK-NEXT:          "tokLen": 1505// CHECK-NEXT:         },506// CHECK-NEXT:         "end": {507// CHECK-NEXT:          "offset": 199,508// CHECK-NEXT:          "col": 35,509// CHECK-NEXT:          "tokLen": 1510// CHECK-NEXT:         }511// CHECK-NEXT:        }512// CHECK-NEXT:       }513// CHECK-NEXT:      ]514// CHECK-NEXT:     }515// CHECK-NEXT:    ]516// CHECK-NEXT:   },517// CHECK-NEXT:   {518// CHECK-NEXT:    "id": "0x{{.*}}",519// CHECK-NEXT:    "kind": "FunctionTemplateDecl",520// CHECK-NEXT:    "loc": {521// CHECK-NEXT:     "offset": 190,522// CHECK-NEXT:     "col": 26,523// CHECK-NEXT:     "tokLen": 1524// CHECK-NEXT:    },525// CHECK-NEXT:    "range": {526// CHECK-NEXT:     "begin": {},527// CHECK-NEXT:     "end": {528// CHECK-NEXT:      "offset": 199,529// CHECK-NEXT:      "col": 35,530// CHECK-NEXT:      "tokLen": 1531// CHECK-NEXT:     }532// CHECK-NEXT:    },533// CHECK-NEXT:    "isImplicit": true,534// CHECK-NEXT:    "name": "operator auto (*)(type-parameter-0-0)",535// CHECK-NEXT:    "inner": [536// CHECK-NEXT:     {537// CHECK-NEXT:      "id": "0x{{.*}}",538// CHECK-NEXT:      "kind": "TemplateTypeParmDecl",539// CHECK-NEXT:      "loc": {540// CHECK-NEXT:       "offset": 197,541// CHECK-NEXT:       "col": 33,542// CHECK-NEXT:       "tokLen": 1543// CHECK-NEXT:      },544// CHECK-NEXT:      "range": {545// CHECK-NEXT:       "begin": {546// CHECK-NEXT:        "offset": 193,547// CHECK-NEXT:        "col": 29,548// CHECK-NEXT:        "tokLen": 4549// CHECK-NEXT:       },550// CHECK-NEXT:       "end": {551// CHECK-NEXT:        "offset": 197,552// CHECK-NEXT:        "col": 33,553// CHECK-NEXT:        "tokLen": 1554// CHECK-NEXT:       }555// CHECK-NEXT:      },556// CHECK-NEXT:      "isImplicit": true,557// CHECK-NEXT:      "name": "auto:1",558// CHECK-NEXT:      "tagUsed": "class",559// CHECK-NEXT:      "depth": 0,560// CHECK-NEXT:      "index": 0561// CHECK-NEXT:     },562// CHECK-NEXT:     {563// CHECK-NEXT:      "id": "0x{{.*}}",564// CHECK-NEXT:      "kind": "CXXConversionDecl",565// CHECK-NEXT:      "loc": {566// CHECK-NEXT:       "offset": 190,567// CHECK-NEXT:       "col": 26,568// CHECK-NEXT:       "tokLen": 1569// CHECK-NEXT:      },570// CHECK-NEXT:      "range": {571// CHECK-NEXT:       "begin": {572// CHECK-NEXT:        "offset": 190,573// CHECK-NEXT:        "col": 26,574// CHECK-NEXT:        "tokLen": 1575// CHECK-NEXT:       },576// CHECK-NEXT:       "end": {577// CHECK-NEXT:        "offset": 199,578// CHECK-NEXT:        "col": 35,579// CHECK-NEXT:        "tokLen": 1580// CHECK-NEXT:       }581// CHECK-NEXT:      },582// CHECK-NEXT:      "isImplicit": true,583// CHECK-NEXT:      "name": "operator auto (*)(type-parameter-0-0)",584// CHECK-NEXT:      "type": {585// CHECK-NEXT:       "qualType": "auto (*() const noexcept)(auto)"586// CHECK-NEXT:      },587// CHECK-NEXT:      "inline": true,588// CHECK-NEXT:      "constexpr": true589// CHECK-NEXT:     }590// CHECK-NEXT:    ]591// CHECK-NEXT:   },592// CHECK-NEXT:   {593// CHECK-NEXT:    "id": "0x{{.*}}",594// CHECK-NEXT:    "kind": "FunctionTemplateDecl",595// CHECK-NEXT:    "loc": {596// CHECK-NEXT:     "offset": 190,597// CHECK-NEXT:     "col": 26,598// CHECK-NEXT:     "tokLen": 1599// CHECK-NEXT:    },600// CHECK-NEXT:    "range": {601// CHECK-NEXT:     "begin": {},602// CHECK-NEXT:     "end": {603// CHECK-NEXT:      "offset": 199,604// CHECK-NEXT:      "col": 35,605// CHECK-NEXT:      "tokLen": 1606// CHECK-NEXT:     }607// CHECK-NEXT:    },608// CHECK-NEXT:    "isImplicit": true,609// CHECK-NEXT:    "name": "__invoke",610// CHECK-NEXT:    "inner": [611// CHECK-NEXT:     {612// CHECK-NEXT:      "id": "0x{{.*}}",613// CHECK-NEXT:      "kind": "TemplateTypeParmDecl",614// CHECK-NEXT:      "loc": {615// CHECK-NEXT:       "offset": 197,616// CHECK-NEXT:       "col": 33,617// CHECK-NEXT:       "tokLen": 1618// CHECK-NEXT:      },619// CHECK-NEXT:      "range": {620// CHECK-NEXT:       "begin": {621// CHECK-NEXT:        "offset": 193,622// CHECK-NEXT:        "col": 29,623// CHECK-NEXT:        "tokLen": 4624// CHECK-NEXT:       },625// CHECK-NEXT:       "end": {626// CHECK-NEXT:        "offset": 197,627// CHECK-NEXT:        "col": 33,628// CHECK-NEXT:        "tokLen": 1629// CHECK-NEXT:       }630// CHECK-NEXT:      },631// CHECK-NEXT:      "isImplicit": true,632// CHECK-NEXT:      "name": "auto:1",633// CHECK-NEXT:      "tagUsed": "class",634// CHECK-NEXT:      "depth": 0,635// CHECK-NEXT:      "index": 0636// CHECK-NEXT:     },637// CHECK-NEXT:     {638// CHECK-NEXT:      "id": "0x{{.*}}",639// CHECK-NEXT:      "kind": "CXXMethodDecl",640// CHECK-NEXT:      "loc": {641// CHECK-NEXT:       "offset": 190,642// CHECK-NEXT:       "col": 26,643// CHECK-NEXT:       "tokLen": 1644// CHECK-NEXT:      },645// CHECK-NEXT:      "range": {646// CHECK-NEXT:       "begin": {647// CHECK-NEXT:        "offset": 190,648// CHECK-NEXT:        "col": 26,649// CHECK-NEXT:        "tokLen": 1650// CHECK-NEXT:       },651// CHECK-NEXT:       "end": {652// CHECK-NEXT:        "offset": 199,653// CHECK-NEXT:        "col": 35,654// CHECK-NEXT:        "tokLen": 1655// CHECK-NEXT:       }656// CHECK-NEXT:      },657// CHECK-NEXT:      "isImplicit": true,658// CHECK-NEXT:      "name": "__invoke",659// CHECK-NEXT:      "type": {660// CHECK-NEXT:       "qualType": "auto (auto)"661// CHECK-NEXT:      },662// CHECK-NEXT:      "storageClass": "static",663// CHECK-NEXT:      "inline": true,664// CHECK-NEXT:      "inner": [665// CHECK-NEXT:       {666// CHECK-NEXT:        "id": "0x{{.*}}",667// CHECK-NEXT:        "kind": "ParmVarDecl",668// CHECK-NEXT:        "loc": {669// CHECK-NEXT:         "offset": 197,670// CHECK-NEXT:         "col": 33,671// CHECK-NEXT:         "tokLen": 1672// CHECK-NEXT:        },673// CHECK-NEXT:        "range": {674// CHECK-NEXT:         "begin": {675// CHECK-NEXT:          "offset": 193,676// CHECK-NEXT:          "col": 29,677// CHECK-NEXT:          "tokLen": 4678// CHECK-NEXT:         },679// CHECK-NEXT:         "end": {680// CHECK-NEXT:          "offset": 193,681// CHECK-NEXT:          "col": 29,682// CHECK-NEXT:          "tokLen": 4683// CHECK-NEXT:         }684// CHECK-NEXT:        },685// CHECK-NEXT:        "type": {686// CHECK-NEXT:         "qualType": "auto"687// CHECK-NEXT:        }688// CHECK-NEXT:       }689// CHECK-NEXT:      ]690// CHECK-NEXT:     }691// CHECK-NEXT:    ]692// CHECK-NEXT:   },693// CHECK-NEXT:   {694// CHECK-NEXT:    "id": "0x{{.*}}",695// CHECK-NEXT:    "kind": "CXXDestructorDecl",696// CHECK-NEXT:    "loc": {697// CHECK-NEXT:     "offset": 190,698// CHECK-NEXT:     "col": 26,699// CHECK-NEXT:     "tokLen": 1700// CHECK-NEXT:    },701// CHECK-NEXT:    "range": {702// CHECK-NEXT:     "begin": {703// CHECK-NEXT:      "offset": 190,704// CHECK-NEXT:      "col": 26,705// CHECK-NEXT:      "tokLen": 1706// CHECK-NEXT:     },707// CHECK-NEXT:     "end": {708// CHECK-NEXT:      "offset": 190,709// CHECK-NEXT:      "col": 26,710// CHECK-NEXT:      "tokLen": 1711// CHECK-NEXT:     }712// CHECK-NEXT:    },713// CHECK-NEXT:    "isImplicit": true,714// CHECK-NEXT:    "isReferenced": true,715// CHECK-NEXT:    "name": "~(lambda at {{.*}}:5:26)",716// CHECK-NEXT:    "mangledName": "_ZZ1fvEN3$_1D1Ev",717// CHECK-NEXT:    "type": {718// CHECK-NEXT:     "qualType": "void () noexcept"719// CHECK-NEXT:    },720// CHECK-NEXT:    "inline": true,721// CHECK-NEXT:    "explicitlyDefaulted": "default"722// CHECK-NEXT:   }723// CHECK-NEXT:  ]724// CHECK-NEXT: }725 726 727// CHECK-NOT: {{^}}Dumping728// CHECK:  "kind": "CXXRecordDecl",729// CHECK-NEXT:  "loc": {730// CHECK-NEXT:   "offset": 212,731// CHECK-NEXT:   "line": 8,732// CHECK-NEXT:   "col": 8,733// CHECK-NEXT:   "tokLen": 18734// CHECK-NEXT:  },735// CHECK-NEXT:  "range": {736// CHECK-NEXT:   "begin": {737// CHECK-NEXT:    "offset": 205,738// CHECK-NEXT:    "col": 1,739// CHECK-NEXT:    "tokLen": 6740// CHECK-NEXT:   },741// CHECK-NEXT:   "end": {742// CHECK-NEXT:    "offset": 292,743// CHECK-NEXT:    "line": 10,744// CHECK-NEXT:    "col": 1,745// CHECK-NEXT:    "tokLen": 1746// CHECK-NEXT:   }747// CHECK-NEXT:  },748// CHECK-NEXT:  "name": "CanPassInRegisters",749// CHECK-NEXT:  "tagUsed": "struct",750// CHECK-NEXT:  "completeDefinition": true,751// CHECK-NEXT:  "definitionData": {752// CHECK-NEXT:   "canConstDefaultInit": true,753// CHECK-NEXT:   "canPassInRegisters": true,754// CHECK-NEXT:   "copyAssign": {755// CHECK-NEXT:    "hasConstParam": true,756// CHECK-NEXT:    "implicitHasConstParam": true,757// CHECK-NEXT:    "needsImplicit": true,758// CHECK-NEXT:    "simple": true,759// CHECK-NEXT:    "trivial": true760// CHECK-NEXT:   },761// CHECK-NEXT:   "copyCtor": {762// CHECK-NEXT:    "hasConstParam": true,763// CHECK-NEXT:    "implicitHasConstParam": true,764// CHECK-NEXT:    "trivial": true,765// CHECK-NEXT:    "userDeclared": true766// CHECK-NEXT:   },767// CHECK-NEXT:   "defaultCtor": {768// CHECK-NEXT:    "defaultedIsConstexpr": true769// CHECK-NEXT:   },770// CHECK-NEXT:   "dtor": {771// CHECK-NEXT:    "irrelevant": true,772// CHECK-NEXT:    "needsImplicit": true,773// CHECK-NEXT:    "simple": true,774// CHECK-NEXT:    "trivial": true775// CHECK-NEXT:   },776// CHECK-NEXT:   "hasUserDeclaredConstructor": true,777// CHECK-NEXT:   "isAggregate": true,778// CHECK-NEXT:   "isEmpty": true,779// CHECK-NEXT:   "isLiteral": true,780// CHECK-NEXT:   "isStandardLayout": true,781// CHECK-NEXT:   "isTriviallyCopyable": true,782// CHECK-NEXT:   "moveAssign": {},783// CHECK-NEXT:   "moveCtor": {}784// CHECK-NEXT:  },785// CHECK-NEXT:  "inner": [786// CHECK-NEXT:   {787// CHECK-NEXT:    "id": "0x{{.*}}",788// CHECK-NEXT:    "kind": "CXXRecordDecl",789// CHECK-NEXT:    "loc": {790// CHECK-NEXT:     "offset": 212,791// CHECK-NEXT:     "line": 8,792// CHECK-NEXT:     "col": 8,793// CHECK-NEXT:     "tokLen": 18794// CHECK-NEXT:    },795// CHECK-NEXT:    "range": {796// CHECK-NEXT:     "begin": {797// CHECK-NEXT:      "offset": 205,798// CHECK-NEXT:      "col": 1,799// CHECK-NEXT:      "tokLen": 6800// CHECK-NEXT:     },801// CHECK-NEXT:     "end": {802// CHECK-NEXT:      "offset": 212,803// CHECK-NEXT:      "col": 8,804// CHECK-NEXT:      "tokLen": 18805// CHECK-NEXT:     }806// CHECK-NEXT:    },807// CHECK-NEXT:    "isImplicit": true,808// CHECK-NEXT:    "isReferenced": true,809// CHECK-NEXT:    "name": "CanPassInRegisters",810// CHECK-NEXT:    "tagUsed": "struct"811// CHECK-NEXT:   },812// CHECK-NEXT:   {813// CHECK-NEXT:    "id": "0x{{.*}}",814// CHECK-NEXT:    "kind": "CXXConstructorDecl",815// CHECK-NEXT:    "loc": {816// CHECK-NEXT:     "offset": 235,817// CHECK-NEXT:     "line": 9,818// CHECK-NEXT:     "col": 3,819// CHECK-NEXT:     "tokLen": 18820// CHECK-NEXT:    },821// CHECK-NEXT:    "range": {822// CHECK-NEXT:     "begin": {823// CHECK-NEXT:      "offset": 235,824// CHECK-NEXT:      "col": 3,825// CHECK-NEXT:      "tokLen": 18826// CHECK-NEXT:     },827// CHECK-NEXT:     "end": {828// CHECK-NEXT:      "offset": 289,829// CHECK-NEXT:      "col": 57,830// CHECK-NEXT:      "tokLen": 1831// CHECK-NEXT:     }832// CHECK-NEXT:    },833// CHECK-NEXT:    "name": "CanPassInRegisters",834// CHECK-NEXT:    "mangledName": "_ZN18CanPassInRegistersC1ERKS_",835// CHECK-NEXT:    "type": {836// CHECK-NEXT:     "qualType": "void (const CanPassInRegisters &)"837// CHECK-NEXT:    },838// CHECK-NEXT:    "constexpr": true,839// CHECK-NEXT:    "explicitlyDefaulted": "default",840// CHECK-NEXT:    "inner": [841// CHECK-NEXT:     {842// CHECK-NEXT:      "id": "0x{{.*}}",843// CHECK-NEXT:      "kind": "ParmVarDecl",844// CHECK-NEXT:      "loc": {845// CHECK-NEXT:       "offset": 279,846// CHECK-NEXT:       "col": 47,847// CHECK-NEXT:       "tokLen": 1848// CHECK-NEXT:      },849// CHECK-NEXT:      "range": {850// CHECK-NEXT:       "begin": {851// CHECK-NEXT:        "offset": 254,852// CHECK-NEXT:        "col": 22,853// CHECK-NEXT:        "tokLen": 5854// CHECK-NEXT:       },855// CHECK-NEXT:       "end": {856// CHECK-NEXT:        "offset": 278,857// CHECK-NEXT:        "col": 46,858// CHECK-NEXT:        "tokLen": 1859// CHECK-NEXT:       }860// CHECK-NEXT:      },861// CHECK-NEXT:      "type": {862// CHECK-NEXT:       "qualType": "const CanPassInRegisters &"863// CHECK-NEXT:      }864// CHECK-NEXT:     }865// CHECK-NEXT:    ]866// CHECK-NEXT:   }867// CHECK-NEXT:  ]868// CHECK-NEXT: }869 870 871// CHECK-NOT: {{^}}Dumping872// CHECK:  "kind": "CXXRecordDecl",873// CHECK-NEXT:  "loc": {874// CHECK-NEXT:   "offset": 303,875// CHECK-NEXT:   "line": 12,876// CHECK-NEXT:   "col": 8,877// CHECK-NEXT:   "tokLen": 19878// CHECK-NEXT:  },879// CHECK-NEXT:  "range": {880// CHECK-NEXT:   "begin": {881// CHECK-NEXT:    "offset": 296,882// CHECK-NEXT:    "col": 1,883// CHECK-NEXT:    "tokLen": 6884// CHECK-NEXT:   },885// CHECK-NEXT:   "end": {886// CHECK-NEXT:    "offset": 385,887// CHECK-NEXT:    "line": 14,888// CHECK-NEXT:    "col": 1,889// CHECK-NEXT:    "tokLen": 1890// CHECK-NEXT:   }891// CHECK-NEXT:  },892// CHECK-NEXT:  "name": "CantPassInRegisters",893// CHECK-NEXT:  "tagUsed": "struct",894// CHECK-NEXT:  "completeDefinition": true,895// CHECK-NEXT:  "definitionData": {896// CHECK-NEXT:   "canConstDefaultInit": true,897// CHECK-NEXT:   "copyAssign": {898// CHECK-NEXT:    "hasConstParam": true,899// CHECK-NEXT:    "implicitHasConstParam": true,900// CHECK-NEXT:    "needsImplicit": true,901// CHECK-NEXT:    "simple": true,902// CHECK-NEXT:    "trivial": true903// CHECK-NEXT:   },904// CHECK-NEXT:   "copyCtor": {905// CHECK-NEXT:    "hasConstParam": true,906// CHECK-NEXT:    "implicitHasConstParam": true,907// CHECK-NEXT:    "trivial": true,908// CHECK-NEXT:    "userDeclared": true909// CHECK-NEXT:   },910// CHECK-NEXT:   "defaultCtor": {911// CHECK-NEXT:    "defaultedIsConstexpr": true912// CHECK-NEXT:   },913// CHECK-NEXT:   "dtor": {914// CHECK-NEXT:    "irrelevant": true,915// CHECK-NEXT:    "needsImplicit": true,916// CHECK-NEXT:    "simple": true,917// CHECK-NEXT:    "trivial": true918// CHECK-NEXT:   },919// CHECK-NEXT:   "hasUserDeclaredConstructor": true,920// CHECK-NEXT:   "isAggregate": true,921// CHECK-NEXT:   "isEmpty": true,922// CHECK-NEXT:   "isLiteral": true,923// CHECK-NEXT:   "isStandardLayout": true,924// CHECK-NEXT:   "isTriviallyCopyable": true,925// CHECK-NEXT:   "moveAssign": {},926// CHECK-NEXT:   "moveCtor": {}927// CHECK-NEXT:  },928// CHECK-NEXT:  "inner": [929// CHECK-NEXT:   {930// CHECK-NEXT:    "id": "0x{{.*}}",931// CHECK-NEXT:    "kind": "CXXRecordDecl",932// CHECK-NEXT:    "loc": {933// CHECK-NEXT:     "offset": 303,934// CHECK-NEXT:     "line": 12,935// CHECK-NEXT:     "col": 8,936// CHECK-NEXT:     "tokLen": 19937// CHECK-NEXT:    },938// CHECK-NEXT:    "range": {939// CHECK-NEXT:     "begin": {940// CHECK-NEXT:      "offset": 296,941// CHECK-NEXT:      "col": 1,942// CHECK-NEXT:      "tokLen": 6943// CHECK-NEXT:     },944// CHECK-NEXT:     "end": {945// CHECK-NEXT:      "offset": 303,946// CHECK-NEXT:      "col": 8,947// CHECK-NEXT:      "tokLen": 19948// CHECK-NEXT:     }949// CHECK-NEXT:    },950// CHECK-NEXT:    "isImplicit": true,951// CHECK-NEXT:    "isReferenced": true,952// CHECK-NEXT:    "name": "CantPassInRegisters",953// CHECK-NEXT:    "tagUsed": "struct"954// CHECK-NEXT:   },955// CHECK-NEXT:   {956// CHECK-NEXT:    "id": "0x{{.*}}",957// CHECK-NEXT:    "kind": "CXXConstructorDecl",958// CHECK-NEXT:    "loc": {959// CHECK-NEXT:     "offset": 327,960// CHECK-NEXT:     "line": 13,961// CHECK-NEXT:     "col": 3,962// CHECK-NEXT:     "tokLen": 19963// CHECK-NEXT:    },964// CHECK-NEXT:    "range": {965// CHECK-NEXT:     "begin": {966// CHECK-NEXT:      "offset": 327,967// CHECK-NEXT:      "col": 3,968// CHECK-NEXT:      "tokLen": 19969// CHECK-NEXT:     },970// CHECK-NEXT:     "end": {971// CHECK-NEXT:      "offset": 382,972// CHECK-NEXT:      "col": 58,973// CHECK-NEXT:      "tokLen": 1974// CHECK-NEXT:     }975// CHECK-NEXT:    },976// CHECK-NEXT:    "name": "CantPassInRegisters",977// CHECK-NEXT:    "mangledName": "_ZN19CantPassInRegistersC1ERKS_",978// CHECK-NEXT:    "type": {979// CHECK-NEXT:     "qualType": "void (const CantPassInRegisters &)"980// CHECK-NEXT:    },981// CHECK-NEXT:    "explicitlyDeleted": true,982// CHECK-NEXT:    "inner": [983// CHECK-NEXT:     {984// CHECK-NEXT:      "id": "0x{{.*}}",985// CHECK-NEXT:      "kind": "ParmVarDecl",986// CHECK-NEXT:      "loc": {987// CHECK-NEXT:       "offset": 373,988// CHECK-NEXT:       "col": 49,989// CHECK-NEXT:       "tokLen": 1990// CHECK-NEXT:      },991// CHECK-NEXT:      "range": {992// CHECK-NEXT:       "begin": {993// CHECK-NEXT:        "offset": 347,994// CHECK-NEXT:        "col": 23,995// CHECK-NEXT:        "tokLen": 5996// CHECK-NEXT:       },997// CHECK-NEXT:       "end": {998// CHECK-NEXT:        "offset": 372,999// CHECK-NEXT:        "col": 48,1000// CHECK-NEXT:        "tokLen": 11001// CHECK-NEXT:       }1002// CHECK-NEXT:      },1003// CHECK-NEXT:      "type": {1004// CHECK-NEXT:       "qualType": "const CantPassInRegisters &"1005// CHECK-NEXT:      }1006// CHECK-NEXT:     }1007// CHECK-NEXT:    ]1008// CHECK-NEXT:   }1009// CHECK-NEXT:  ]1010// CHECK-NEXT: }1011 1012 1013// CHECK-NOT: {{^}}Dumping1014// CHECK:  "kind": "CXXRecordDecl",1015// CHECK-NEXT:  "loc": {1016// CHECK-NEXT:   "offset": 396,1017// CHECK-NEXT:   "line": 16,1018// CHECK-NEXT:   "col": 8,1019// CHECK-NEXT:   "tokLen": 71020// CHECK-NEXT:  },1021// CHECK-NEXT:  "range": {1022// CHECK-NEXT:   "begin": {1023// CHECK-NEXT:    "offset": 389,1024// CHECK-NEXT:    "col": 1,1025// CHECK-NEXT:    "tokLen": 61026// CHECK-NEXT:   },1027// CHECK-NEXT:   "end": {1028// CHECK-NEXT:    "offset": 406,1029// CHECK-NEXT:    "line": 17,1030// CHECK-NEXT:    "col": 1,1031// CHECK-NEXT:    "tokLen": 11032// CHECK-NEXT:   }1033// CHECK-NEXT:  },1034// CHECK-NEXT:  "name": "IsEmpty",1035// CHECK-NEXT:  "tagUsed": "struct",1036// CHECK-NEXT:  "completeDefinition": true,1037// CHECK-NEXT:  "definitionData": {1038// CHECK-NEXT:   "canConstDefaultInit": true,1039// CHECK-NEXT:   "canPassInRegisters": true,1040// CHECK-NEXT:   "copyAssign": {1041// CHECK-NEXT:    "hasConstParam": true,1042// CHECK-NEXT:    "implicitHasConstParam": true,1043// CHECK-NEXT:    "needsImplicit": true,1044// CHECK-NEXT:    "simple": true,1045// CHECK-NEXT:    "trivial": true1046// CHECK-NEXT:   },1047// CHECK-NEXT:   "copyCtor": {1048// CHECK-NEXT:    "hasConstParam": true,1049// CHECK-NEXT:    "implicitHasConstParam": true,1050// CHECK-NEXT:    "needsImplicit": true,1051// CHECK-NEXT:    "simple": true,1052// CHECK-NEXT:    "trivial": true1053// CHECK-NEXT:   },1054// CHECK-NEXT:   "defaultCtor": {1055// CHECK-NEXT:    "defaultedIsConstexpr": true,1056// CHECK-NEXT:    "exists": true,1057// CHECK-NEXT:    "isConstexpr": true,1058// CHECK-NEXT:    "needsImplicit": true,1059// CHECK-NEXT:    "trivial": true1060// CHECK-NEXT:   },1061// CHECK-NEXT:   "dtor": {1062// CHECK-NEXT:    "irrelevant": true,1063// CHECK-NEXT:    "needsImplicit": true,1064// CHECK-NEXT:    "simple": true,1065// CHECK-NEXT:    "trivial": true1066// CHECK-NEXT:   },1067// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,1068// CHECK-NEXT:   "isAggregate": true,1069// CHECK-NEXT:   "isEmpty": true,1070// CHECK-NEXT:   "isLiteral": true,1071// CHECK-NEXT:   "isPOD": true,1072// CHECK-NEXT:   "isStandardLayout": true,1073// CHECK-NEXT:   "isTrivial": true,1074// CHECK-NEXT:   "isTriviallyCopyable": true,1075// CHECK-NEXT:   "moveAssign": {1076// CHECK-NEXT:    "exists": true,1077// CHECK-NEXT:    "needsImplicit": true,1078// CHECK-NEXT:    "simple": true,1079// CHECK-NEXT:    "trivial": true1080// CHECK-NEXT:   },1081// CHECK-NEXT:   "moveCtor": {1082// CHECK-NEXT:    "exists": true,1083// CHECK-NEXT:    "needsImplicit": true,1084// CHECK-NEXT:    "simple": true,1085// CHECK-NEXT:    "trivial": true1086// CHECK-NEXT:   }1087// CHECK-NEXT:  },1088// CHECK-NEXT:  "inner": [1089// CHECK-NEXT:   {1090// CHECK-NEXT:    "id": "0x{{.*}}",1091// CHECK-NEXT:    "kind": "CXXRecordDecl",1092// CHECK-NEXT:    "loc": {1093// CHECK-NEXT:     "offset": 396,1094// CHECK-NEXT:     "line": 16,1095// CHECK-NEXT:     "col": 8,1096// CHECK-NEXT:     "tokLen": 71097// CHECK-NEXT:    },1098// CHECK-NEXT:    "range": {1099// CHECK-NEXT:     "begin": {1100// CHECK-NEXT:      "offset": 389,1101// CHECK-NEXT:      "col": 1,1102// CHECK-NEXT:      "tokLen": 61103// CHECK-NEXT:     },1104// CHECK-NEXT:     "end": {1105// CHECK-NEXT:      "offset": 396,1106// CHECK-NEXT:      "col": 8,1107// CHECK-NEXT:      "tokLen": 71108// CHECK-NEXT:     }1109// CHECK-NEXT:    },1110// CHECK-NEXT:    "isImplicit": true,1111// CHECK-NEXT:    "name": "IsEmpty",1112// CHECK-NEXT:    "tagUsed": "struct"1113// CHECK-NEXT:   }1114// CHECK-NEXT:  ]1115// CHECK-NEXT: }1116 1117 1118// CHECK-NOT: {{^}}Dumping1119// CHECK:  "kind": "CXXRecordDecl",1120// CHECK-NEXT:  "loc": {1121// CHECK-NEXT:   "offset": 417,1122// CHECK-NEXT:   "line": 19,1123// CHECK-NEXT:   "col": 8,1124// CHECK-NEXT:   "tokLen": 101125// CHECK-NEXT:  },1126// CHECK-NEXT:  "range": {1127// CHECK-NEXT:   "begin": {1128// CHECK-NEXT:    "offset": 410,1129// CHECK-NEXT:    "col": 1,1130// CHECK-NEXT:    "tokLen": 61131// CHECK-NEXT:   },1132// CHECK-NEXT:   "end": {1133// CHECK-NEXT:    "offset": 439,1134// CHECK-NEXT:    "line": 21,1135// CHECK-NEXT:    "col": 1,1136// CHECK-NEXT:    "tokLen": 11137// CHECK-NEXT:   }1138// CHECK-NEXT:  },1139// CHECK-NEXT:  "name": "IsNotEmpty",1140// CHECK-NEXT:  "tagUsed": "struct",1141// CHECK-NEXT:  "completeDefinition": true,1142// CHECK-NEXT:  "definitionData": {1143// CHECK-NEXT:   "canPassInRegisters": true,1144// CHECK-NEXT:   "copyAssign": {1145// CHECK-NEXT:    "hasConstParam": true,1146// CHECK-NEXT:    "implicitHasConstParam": true,1147// CHECK-NEXT:    "needsImplicit": true,1148// CHECK-NEXT:    "simple": true,1149// CHECK-NEXT:    "trivial": true1150// CHECK-NEXT:   },1151// CHECK-NEXT:   "copyCtor": {1152// CHECK-NEXT:    "hasConstParam": true,1153// CHECK-NEXT:    "implicitHasConstParam": true,1154// CHECK-NEXT:    "needsImplicit": true,1155// CHECK-NEXT:    "simple": true,1156// CHECK-NEXT:    "trivial": true1157// CHECK-NEXT:   },1158// CHECK-NEXT:   "defaultCtor": {1159// CHECK-NEXT:    "exists": true,1160// CHECK-NEXT:    "needsImplicit": true,1161// CHECK-NEXT:    "trivial": true1162// CHECK-NEXT:   },1163// CHECK-NEXT:   "dtor": {1164// CHECK-NEXT:    "irrelevant": true,1165// CHECK-NEXT:    "needsImplicit": true,1166// CHECK-NEXT:    "simple": true,1167// CHECK-NEXT:    "trivial": true1168// CHECK-NEXT:   },1169// CHECK-NEXT:   "isAggregate": true,1170// CHECK-NEXT:   "isLiteral": true,1171// CHECK-NEXT:   "isPOD": true,1172// CHECK-NEXT:   "isStandardLayout": true,1173// CHECK-NEXT:   "isTrivial": true,1174// CHECK-NEXT:   "isTriviallyCopyable": true,1175// CHECK-NEXT:   "moveAssign": {1176// CHECK-NEXT:    "exists": true,1177// CHECK-NEXT:    "needsImplicit": true,1178// CHECK-NEXT:    "simple": true,1179// CHECK-NEXT:    "trivial": true1180// CHECK-NEXT:   },1181// CHECK-NEXT:   "moveCtor": {1182// CHECK-NEXT:    "exists": true,1183// CHECK-NEXT:    "needsImplicit": true,1184// CHECK-NEXT:    "simple": true,1185// CHECK-NEXT:    "trivial": true1186// CHECK-NEXT:   }1187// CHECK-NEXT:  },1188// CHECK-NEXT:  "inner": [1189// CHECK-NEXT:   {1190// CHECK-NEXT:    "id": "0x{{.*}}",1191// CHECK-NEXT:    "kind": "CXXRecordDecl",1192// CHECK-NEXT:    "loc": {1193// CHECK-NEXT:     "offset": 417,1194// CHECK-NEXT:     "line": 19,1195// CHECK-NEXT:     "col": 8,1196// CHECK-NEXT:     "tokLen": 101197// CHECK-NEXT:    },1198// CHECK-NEXT:    "range": {1199// CHECK-NEXT:     "begin": {1200// CHECK-NEXT:      "offset": 410,1201// CHECK-NEXT:      "col": 1,1202// CHECK-NEXT:      "tokLen": 61203// CHECK-NEXT:     },1204// CHECK-NEXT:     "end": {1205// CHECK-NEXT:      "offset": 417,1206// CHECK-NEXT:      "col": 8,1207// CHECK-NEXT:      "tokLen": 101208// CHECK-NEXT:     }1209// CHECK-NEXT:    },1210// CHECK-NEXT:    "isImplicit": true,1211// CHECK-NEXT:    "name": "IsNotEmpty",1212// CHECK-NEXT:    "tagUsed": "struct"1213// CHECK-NEXT:   },1214// CHECK-NEXT:   {1215// CHECK-NEXT:    "id": "0x{{.*}}",1216// CHECK-NEXT:    "kind": "FieldDecl",1217// CHECK-NEXT:    "loc": {1218// CHECK-NEXT:     "offset": 436,1219// CHECK-NEXT:     "line": 20,1220// CHECK-NEXT:     "col": 7,1221// CHECK-NEXT:     "tokLen": 11222// CHECK-NEXT:    },1223// CHECK-NEXT:    "range": {1224// CHECK-NEXT:     "begin": {1225// CHECK-NEXT:      "offset": 432,1226// CHECK-NEXT:      "col": 3,1227// CHECK-NEXT:      "tokLen": 31228// CHECK-NEXT:     },1229// CHECK-NEXT:     "end": {1230// CHECK-NEXT:      "offset": 436,1231// CHECK-NEXT:      "col": 7,1232// CHECK-NEXT:      "tokLen": 11233// CHECK-NEXT:     }1234// CHECK-NEXT:    },1235// CHECK-NEXT:    "name": "a",1236// CHECK-NEXT:    "type": {1237// CHECK-NEXT:     "qualType": "int"1238// CHECK-NEXT:    }1239// CHECK-NEXT:   }1240// CHECK-NEXT:  ]1241// CHECK-NEXT: }1242 1243 1244// CHECK-NOT: {{^}}Dumping1245// CHECK:  "kind": "CXXRecordDecl",1246// CHECK-NEXT:  "loc": {1247// CHECK-NEXT:   "offset": 450,1248// CHECK-NEXT:   "line": 23,1249// CHECK-NEXT:   "col": 8,1250// CHECK-NEXT:   "tokLen": 111251// CHECK-NEXT:  },1252// CHECK-NEXT:  "range": {1253// CHECK-NEXT:   "begin": {1254// CHECK-NEXT:    "offset": 443,1255// CHECK-NEXT:    "col": 1,1256// CHECK-NEXT:    "tokLen": 61257// CHECK-NEXT:   },1258// CHECK-NEXT:   "end": {1259// CHECK-NEXT:    "offset": 473,1260// CHECK-NEXT:    "line": 25,1261// CHECK-NEXT:    "col": 1,1262// CHECK-NEXT:    "tokLen": 11263// CHECK-NEXT:   }1264// CHECK-NEXT:  },1265// CHECK-NEXT:  "name": "IsAggregate",1266// CHECK-NEXT:  "tagUsed": "struct",1267// CHECK-NEXT:  "completeDefinition": true,1268// CHECK-NEXT:  "definitionData": {1269// CHECK-NEXT:   "canPassInRegisters": true,1270// CHECK-NEXT:   "copyAssign": {1271// CHECK-NEXT:    "hasConstParam": true,1272// CHECK-NEXT:    "implicitHasConstParam": true,1273// CHECK-NEXT:    "needsImplicit": true,1274// CHECK-NEXT:    "simple": true,1275// CHECK-NEXT:    "trivial": true1276// CHECK-NEXT:   },1277// CHECK-NEXT:   "copyCtor": {1278// CHECK-NEXT:    "hasConstParam": true,1279// CHECK-NEXT:    "implicitHasConstParam": true,1280// CHECK-NEXT:    "needsImplicit": true,1281// CHECK-NEXT:    "simple": true,1282// CHECK-NEXT:    "trivial": true1283// CHECK-NEXT:   },1284// CHECK-NEXT:   "defaultCtor": {1285// CHECK-NEXT:    "exists": true,1286// CHECK-NEXT:    "needsImplicit": true,1287// CHECK-NEXT:    "trivial": true1288// CHECK-NEXT:   },1289// CHECK-NEXT:   "dtor": {1290// CHECK-NEXT:    "irrelevant": true,1291// CHECK-NEXT:    "needsImplicit": true,1292// CHECK-NEXT:    "simple": true,1293// CHECK-NEXT:    "trivial": true1294// CHECK-NEXT:   },1295// CHECK-NEXT:   "isAggregate": true,1296// CHECK-NEXT:   "isLiteral": true,1297// CHECK-NEXT:   "isPOD": true,1298// CHECK-NEXT:   "isStandardLayout": true,1299// CHECK-NEXT:   "isTrivial": true,1300// CHECK-NEXT:   "isTriviallyCopyable": true,1301// CHECK-NEXT:   "moveAssign": {1302// CHECK-NEXT:    "exists": true,1303// CHECK-NEXT:    "needsImplicit": true,1304// CHECK-NEXT:    "simple": true,1305// CHECK-NEXT:    "trivial": true1306// CHECK-NEXT:   },1307// CHECK-NEXT:   "moveCtor": {1308// CHECK-NEXT:    "exists": true,1309// CHECK-NEXT:    "needsImplicit": true,1310// CHECK-NEXT:    "simple": true,1311// CHECK-NEXT:    "trivial": true1312// CHECK-NEXT:   }1313// CHECK-NEXT:  },1314// CHECK-NEXT:  "inner": [1315// CHECK-NEXT:   {1316// CHECK-NEXT:    "id": "0x{{.*}}",1317// CHECK-NEXT:    "kind": "CXXRecordDecl",1318// CHECK-NEXT:    "loc": {1319// CHECK-NEXT:     "offset": 450,1320// CHECK-NEXT:     "line": 23,1321// CHECK-NEXT:     "col": 8,1322// CHECK-NEXT:     "tokLen": 111323// CHECK-NEXT:    },1324// CHECK-NEXT:    "range": {1325// CHECK-NEXT:     "begin": {1326// CHECK-NEXT:      "offset": 443,1327// CHECK-NEXT:      "col": 1,1328// CHECK-NEXT:      "tokLen": 61329// CHECK-NEXT:     },1330// CHECK-NEXT:     "end": {1331// CHECK-NEXT:      "offset": 450,1332// CHECK-NEXT:      "col": 8,1333// CHECK-NEXT:      "tokLen": 111334// CHECK-NEXT:     }1335// CHECK-NEXT:    },1336// CHECK-NEXT:    "isImplicit": true,1337// CHECK-NEXT:    "name": "IsAggregate",1338// CHECK-NEXT:    "tagUsed": "struct"1339// CHECK-NEXT:   },1340// CHECK-NEXT:   {1341// CHECK-NEXT:    "id": "0x{{.*}}",1342// CHECK-NEXT:    "kind": "FieldDecl",1343// CHECK-NEXT:    "loc": {1344// CHECK-NEXT:     "offset": 470,1345// CHECK-NEXT:     "line": 24,1346// CHECK-NEXT:     "col": 7,1347// CHECK-NEXT:     "tokLen": 11348// CHECK-NEXT:    },1349// CHECK-NEXT:    "range": {1350// CHECK-NEXT:     "begin": {1351// CHECK-NEXT:      "offset": 466,1352// CHECK-NEXT:      "col": 3,1353// CHECK-NEXT:      "tokLen": 31354// CHECK-NEXT:     },1355// CHECK-NEXT:     "end": {1356// CHECK-NEXT:      "offset": 470,1357// CHECK-NEXT:      "col": 7,1358// CHECK-NEXT:      "tokLen": 11359// CHECK-NEXT:     }1360// CHECK-NEXT:    },1361// CHECK-NEXT:    "name": "a",1362// CHECK-NEXT:    "type": {1363// CHECK-NEXT:     "qualType": "int"1364// CHECK-NEXT:    }1365// CHECK-NEXT:   }1366// CHECK-NEXT:  ]1367// CHECK-NEXT: }1368 1369 1370// CHECK-NOT: {{^}}Dumping1371// CHECK:  "kind": "CXXRecordDecl",1372// CHECK-NEXT:  "loc": {1373// CHECK-NEXT:   "offset": 484,1374// CHECK-NEXT:   "line": 27,1375// CHECK-NEXT:   "col": 8,1376// CHECK-NEXT:   "tokLen": 141377// CHECK-NEXT:  },1378// CHECK-NEXT:  "range": {1379// CHECK-NEXT:   "begin": {1380// CHECK-NEXT:    "offset": 477,1381// CHECK-NEXT:    "col": 1,1382// CHECK-NEXT:    "tokLen": 61383// CHECK-NEXT:   },1384// CHECK-NEXT:   "end": {1385// CHECK-NEXT:    "offset": 519,1386// CHECK-NEXT:    "line": 30,1387// CHECK-NEXT:    "col": 1,1388// CHECK-NEXT:    "tokLen": 11389// CHECK-NEXT:   }1390// CHECK-NEXT:  },1391// CHECK-NEXT:  "name": "IsNotAggregate",1392// CHECK-NEXT:  "tagUsed": "struct",1393// CHECK-NEXT:  "completeDefinition": true,1394// CHECK-NEXT:  "definitionData": {1395// CHECK-NEXT:   "canPassInRegisters": true,1396// CHECK-NEXT:   "copyAssign": {1397// CHECK-NEXT:    "hasConstParam": true,1398// CHECK-NEXT:    "implicitHasConstParam": true,1399// CHECK-NEXT:    "needsImplicit": true,1400// CHECK-NEXT:    "simple": true,1401// CHECK-NEXT:    "trivial": true1402// CHECK-NEXT:   },1403// CHECK-NEXT:   "copyCtor": {1404// CHECK-NEXT:    "hasConstParam": true,1405// CHECK-NEXT:    "implicitHasConstParam": true,1406// CHECK-NEXT:    "needsImplicit": true,1407// CHECK-NEXT:    "simple": true,1408// CHECK-NEXT:    "trivial": true1409// CHECK-NEXT:   },1410// CHECK-NEXT:   "defaultCtor": {1411// CHECK-NEXT:    "exists": true,1412// CHECK-NEXT:    "needsImplicit": true,1413// CHECK-NEXT:    "trivial": true1414// CHECK-NEXT:   },1415// CHECK-NEXT:   "dtor": {1416// CHECK-NEXT:    "irrelevant": true,1417// CHECK-NEXT:    "needsImplicit": true,1418// CHECK-NEXT:    "simple": true,1419// CHECK-NEXT:    "trivial": true1420// CHECK-NEXT:   },1421// CHECK-NEXT:   "isLiteral": true,1422// CHECK-NEXT:   "isStandardLayout": true,1423// CHECK-NEXT:   "isTrivial": true,1424// CHECK-NEXT:   "isTriviallyCopyable": true,1425// CHECK-NEXT:   "moveAssign": {1426// CHECK-NEXT:    "exists": true,1427// CHECK-NEXT:    "needsImplicit": true,1428// CHECK-NEXT:    "simple": true,1429// CHECK-NEXT:    "trivial": true1430// CHECK-NEXT:   },1431// CHECK-NEXT:   "moveCtor": {1432// CHECK-NEXT:    "exists": true,1433// CHECK-NEXT:    "needsImplicit": true,1434// CHECK-NEXT:    "simple": true,1435// CHECK-NEXT:    "trivial": true1436// CHECK-NEXT:   }1437// CHECK-NEXT:  },1438// CHECK-NEXT:  "inner": [1439// CHECK-NEXT:   {1440// CHECK-NEXT:    "id": "0x{{.*}}",1441// CHECK-NEXT:    "kind": "CXXRecordDecl",1442// CHECK-NEXT:    "loc": {1443// CHECK-NEXT:     "offset": 484,1444// CHECK-NEXT:     "line": 27,1445// CHECK-NEXT:     "col": 8,1446// CHECK-NEXT:     "tokLen": 141447// CHECK-NEXT:    },1448// CHECK-NEXT:    "range": {1449// CHECK-NEXT:     "begin": {1450// CHECK-NEXT:      "offset": 477,1451// CHECK-NEXT:      "col": 1,1452// CHECK-NEXT:      "tokLen": 61453// CHECK-NEXT:     },1454// CHECK-NEXT:     "end": {1455// CHECK-NEXT:      "offset": 484,1456// CHECK-NEXT:      "col": 8,1457// CHECK-NEXT:      "tokLen": 141458// CHECK-NEXT:     }1459// CHECK-NEXT:    },1460// CHECK-NEXT:    "isImplicit": true,1461// CHECK-NEXT:    "name": "IsNotAggregate",1462// CHECK-NEXT:    "tagUsed": "struct"1463// CHECK-NEXT:   },1464// CHECK-NEXT:   {1465// CHECK-NEXT:    "id": "0x{{.*}}",1466// CHECK-NEXT:    "kind": "AccessSpecDecl",1467// CHECK-NEXT:    "loc": {1468// CHECK-NEXT:     "offset": 501,1469// CHECK-NEXT:     "line": 28,1470// CHECK-NEXT:     "col": 1,1471// CHECK-NEXT:     "tokLen": 71472// CHECK-NEXT:    },1473// CHECK-NEXT:    "range": {1474// CHECK-NEXT:     "begin": {1475// CHECK-NEXT:      "offset": 501,1476// CHECK-NEXT:      "col": 1,1477// CHECK-NEXT:      "tokLen": 71478// CHECK-NEXT:     },1479// CHECK-NEXT:     "end": {1480// CHECK-NEXT:      "offset": 508,1481// CHECK-NEXT:      "col": 8,1482// CHECK-NEXT:      "tokLen": 11483// CHECK-NEXT:     }1484// CHECK-NEXT:    },1485// CHECK-NEXT:    "access": "private"1486// CHECK-NEXT:   },1487// CHECK-NEXT:   {1488// CHECK-NEXT:    "id": "0x{{.*}}",1489// CHECK-NEXT:    "kind": "FieldDecl",1490// CHECK-NEXT:    "loc": {1491// CHECK-NEXT:     "offset": 516,1492// CHECK-NEXT:     "line": 29,1493// CHECK-NEXT:     "col": 7,1494// CHECK-NEXT:     "tokLen": 11495// CHECK-NEXT:    },1496// CHECK-NEXT:    "range": {1497// CHECK-NEXT:     "begin": {1498// CHECK-NEXT:      "offset": 512,1499// CHECK-NEXT:      "col": 3,1500// CHECK-NEXT:      "tokLen": 31501// CHECK-NEXT:     },1502// CHECK-NEXT:     "end": {1503// CHECK-NEXT:      "offset": 516,1504// CHECK-NEXT:      "col": 7,1505// CHECK-NEXT:      "tokLen": 11506// CHECK-NEXT:     }1507// CHECK-NEXT:    },1508// CHECK-NEXT:    "name": "a",1509// CHECK-NEXT:    "type": {1510// CHECK-NEXT:     "qualType": "int"1511// CHECK-NEXT:    }1512// CHECK-NEXT:   }1513// CHECK-NEXT:  ]1514// CHECK-NEXT: }1515 1516 1517// CHECK-NOT: {{^}}Dumping1518// CHECK:  "kind": "CXXRecordDecl",1519// CHECK-NEXT:  "loc": {1520// CHECK-NEXT:   "offset": 530,1521// CHECK-NEXT:   "line": 32,1522// CHECK-NEXT:   "col": 8,1523// CHECK-NEXT:   "tokLen": 161524// CHECK-NEXT:  },1525// CHECK-NEXT:  "range": {1526// CHECK-NEXT:   "begin": {1527// CHECK-NEXT:    "offset": 523,1528// CHECK-NEXT:    "col": 1,1529// CHECK-NEXT:    "tokLen": 61530// CHECK-NEXT:   },1531// CHECK-NEXT:   "end": {1532// CHECK-NEXT:    "offset": 561,1533// CHECK-NEXT:    "line": 34,1534// CHECK-NEXT:    "col": 1,1535// CHECK-NEXT:    "tokLen": 11536// CHECK-NEXT:   }1537// CHECK-NEXT:  },1538// CHECK-NEXT:  "name": "IsStandardLayout",1539// CHECK-NEXT:  "tagUsed": "struct",1540// CHECK-NEXT:  "completeDefinition": true,1541// CHECK-NEXT:  "definitionData": {1542// CHECK-NEXT:   "canConstDefaultInit": true,1543// CHECK-NEXT:   "canPassInRegisters": true,1544// CHECK-NEXT:   "copyAssign": {1545// CHECK-NEXT:    "hasConstParam": true,1546// CHECK-NEXT:    "implicitHasConstParam": true,1547// CHECK-NEXT:    "needsImplicit": true,1548// CHECK-NEXT:    "simple": true,1549// CHECK-NEXT:    "trivial": true1550// CHECK-NEXT:   },1551// CHECK-NEXT:   "copyCtor": {1552// CHECK-NEXT:    "hasConstParam": true,1553// CHECK-NEXT:    "implicitHasConstParam": true,1554// CHECK-NEXT:    "needsImplicit": true,1555// CHECK-NEXT:    "simple": true,1556// CHECK-NEXT:    "trivial": true1557// CHECK-NEXT:   },1558// CHECK-NEXT:   "defaultCtor": {1559// CHECK-NEXT:    "defaultedIsConstexpr": true,1560// CHECK-NEXT:    "exists": true,1561// CHECK-NEXT:    "isConstexpr": true,1562// CHECK-NEXT:    "needsImplicit": true,1563// CHECK-NEXT:    "trivial": true1564// CHECK-NEXT:   },1565// CHECK-NEXT:   "dtor": {1566// CHECK-NEXT:    "irrelevant": true,1567// CHECK-NEXT:    "needsImplicit": true,1568// CHECK-NEXT:    "simple": true,1569// CHECK-NEXT:    "trivial": true1570// CHECK-NEXT:   },1571// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,1572// CHECK-NEXT:   "isAggregate": true,1573// CHECK-NEXT:   "isEmpty": true,1574// CHECK-NEXT:   "isLiteral": true,1575// CHECK-NEXT:   "isPOD": true,1576// CHECK-NEXT:   "isStandardLayout": true,1577// CHECK-NEXT:   "isTrivial": true,1578// CHECK-NEXT:   "isTriviallyCopyable": true,1579// CHECK-NEXT:   "moveAssign": {1580// CHECK-NEXT:    "exists": true,1581// CHECK-NEXT:    "needsImplicit": true,1582// CHECK-NEXT:    "simple": true,1583// CHECK-NEXT:    "trivial": true1584// CHECK-NEXT:   },1585// CHECK-NEXT:   "moveCtor": {1586// CHECK-NEXT:    "exists": true,1587// CHECK-NEXT:    "needsImplicit": true,1588// CHECK-NEXT:    "simple": true,1589// CHECK-NEXT:    "trivial": true1590// CHECK-NEXT:   }1591// CHECK-NEXT:  },1592// CHECK-NEXT:  "inner": [1593// CHECK-NEXT:   {1594// CHECK-NEXT:    "id": "0x{{.*}}",1595// CHECK-NEXT:    "kind": "CXXRecordDecl",1596// CHECK-NEXT:    "loc": {1597// CHECK-NEXT:     "offset": 530,1598// CHECK-NEXT:     "line": 32,1599// CHECK-NEXT:     "col": 8,1600// CHECK-NEXT:     "tokLen": 161601// CHECK-NEXT:    },1602// CHECK-NEXT:    "range": {1603// CHECK-NEXT:     "begin": {1604// CHECK-NEXT:      "offset": 523,1605// CHECK-NEXT:      "col": 1,1606// CHECK-NEXT:      "tokLen": 61607// CHECK-NEXT:     },1608// CHECK-NEXT:     "end": {1609// CHECK-NEXT:      "offset": 530,1610// CHECK-NEXT:      "col": 8,1611// CHECK-NEXT:      "tokLen": 161612// CHECK-NEXT:     }1613// CHECK-NEXT:    },1614// CHECK-NEXT:    "isImplicit": true,1615// CHECK-NEXT:    "name": "IsStandardLayout",1616// CHECK-NEXT:    "tagUsed": "struct"1617// CHECK-NEXT:   },1618// CHECK-NEXT:   {1619// CHECK-NEXT:    "id": "0x{{.*}}",1620// CHECK-NEXT:    "kind": "CXXMethodDecl",1621// CHECK-NEXT:    "loc": {1622// CHECK-NEXT:     "offset": 556,1623// CHECK-NEXT:     "line": 33,1624// CHECK-NEXT:     "col": 8,1625// CHECK-NEXT:     "tokLen": 11626// CHECK-NEXT:    },1627// CHECK-NEXT:    "range": {1628// CHECK-NEXT:     "begin": {1629// CHECK-NEXT:      "offset": 551,1630// CHECK-NEXT:      "col": 3,1631// CHECK-NEXT:      "tokLen": 41632// CHECK-NEXT:     },1633// CHECK-NEXT:     "end": {1634// CHECK-NEXT:      "offset": 558,1635// CHECK-NEXT:      "col": 10,1636// CHECK-NEXT:      "tokLen": 11637// CHECK-NEXT:     }1638// CHECK-NEXT:    },1639// CHECK-NEXT:    "name": "f",1640// CHECK-NEXT:    "mangledName": "_ZN16IsStandardLayout1fEv",1641// CHECK-NEXT:    "type": {1642// CHECK-NEXT:     "qualType": "void ()"1643// CHECK-NEXT:    }1644// CHECK-NEXT:   }1645// CHECK-NEXT:  ]1646// CHECK-NEXT: }1647 1648 1649// CHECK-NOT: {{^}}Dumping1650// CHECK:  "kind": "CXXRecordDecl",1651// CHECK-NEXT:  "loc": {1652// CHECK-NEXT:   "offset": 572,1653// CHECK-NEXT:   "line": 36,1654// CHECK-NEXT:   "col": 8,1655// CHECK-NEXT:   "tokLen": 191656// CHECK-NEXT:  },1657// CHECK-NEXT:  "range": {1658// CHECK-NEXT:   "begin": {1659// CHECK-NEXT:    "offset": 565,1660// CHECK-NEXT:    "col": 1,1661// CHECK-NEXT:    "tokLen": 61662// CHECK-NEXT:   },1663// CHECK-NEXT:   "end": {1664// CHECK-NEXT:    "offset": 614,1665// CHECK-NEXT:    "line": 38,1666// CHECK-NEXT:    "col": 1,1667// CHECK-NEXT:    "tokLen": 11668// CHECK-NEXT:   }1669// CHECK-NEXT:  },1670// CHECK-NEXT:  "name": "IsNotStandardLayout",1671// CHECK-NEXT:  "tagUsed": "struct",1672// CHECK-NEXT:  "completeDefinition": true,1673// CHECK-NEXT:  "definitionData": {1674// CHECK-NEXT:   "canConstDefaultInit": true,1675// CHECK-NEXT:   "copyAssign": {1676// CHECK-NEXT:    "hasConstParam": true,1677// CHECK-NEXT:    "implicitHasConstParam": true,1678// CHECK-NEXT:    "nonTrivial": true,1679// CHECK-NEXT:    "simple": true1680// CHECK-NEXT:   },1681// CHECK-NEXT:   "copyCtor": {1682// CHECK-NEXT:    "hasConstParam": true,1683// CHECK-NEXT:    "implicitHasConstParam": true,1684// CHECK-NEXT:    "needsImplicit": true,1685// CHECK-NEXT:    "nonTrivial": true,1686// CHECK-NEXT:    "simple": true1687// CHECK-NEXT:   },1688// CHECK-NEXT:   "defaultCtor": {1689// CHECK-NEXT:    "defaultedIsConstexpr": true,1690// CHECK-NEXT:    "exists": true,1691// CHECK-NEXT:    "isConstexpr": true,1692// CHECK-NEXT:    "needsImplicit": true,1693// CHECK-NEXT:    "nonTrivial": true1694// CHECK-NEXT:   },1695// CHECK-NEXT:   "dtor": {1696// CHECK-NEXT:    "irrelevant": true,1697// CHECK-NEXT:    "simple": true,1698// CHECK-NEXT:    "trivial": true1699// CHECK-NEXT:   },1700// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,1701// CHECK-NEXT:   "isLiteral": true,1702// CHECK-NEXT:   "isPolymorphic": true,1703// CHECK-NEXT:   "moveAssign": {1704// CHECK-NEXT:    "exists": true,1705// CHECK-NEXT:    "nonTrivial": true,1706// CHECK-NEXT:    "simple": true1707// CHECK-NEXT:   },1708// CHECK-NEXT:   "moveCtor": {1709// CHECK-NEXT:    "exists": true,1710// CHECK-NEXT:    "needsImplicit": true,1711// CHECK-NEXT:    "nonTrivial": true,1712// CHECK-NEXT:    "simple": true1713// CHECK-NEXT:   }1714// CHECK-NEXT:  },1715// CHECK-NEXT:  "inner": [1716// CHECK-NEXT:   {1717// CHECK-NEXT:    "id": "0x{{.*}}",1718// CHECK-NEXT:    "kind": "CXXRecordDecl",1719// CHECK-NEXT:    "loc": {1720// CHECK-NEXT:     "offset": 572,1721// CHECK-NEXT:     "line": 36,1722// CHECK-NEXT:     "col": 8,1723// CHECK-NEXT:     "tokLen": 191724// CHECK-NEXT:    },1725// CHECK-NEXT:    "range": {1726// CHECK-NEXT:     "begin": {1727// CHECK-NEXT:      "offset": 565,1728// CHECK-NEXT:      "col": 1,1729// CHECK-NEXT:      "tokLen": 61730// CHECK-NEXT:     },1731// CHECK-NEXT:     "end": {1732// CHECK-NEXT:      "offset": 572,1733// CHECK-NEXT:      "col": 8,1734// CHECK-NEXT:      "tokLen": 191735// CHECK-NEXT:     }1736// CHECK-NEXT:    },1737// CHECK-NEXT:    "isImplicit": true,1738// CHECK-NEXT:    "name": "IsNotStandardLayout",1739// CHECK-NEXT:    "tagUsed": "struct"1740// CHECK-NEXT:   },1741// CHECK-NEXT:   {1742// CHECK-NEXT:    "id": "0x{{.*}}",1743// CHECK-NEXT:    "kind": "CXXMethodDecl",1744// CHECK-NEXT:    "loc": {1745// CHECK-NEXT:     "offset": 609,1746// CHECK-NEXT:     "line": 37,1747// CHECK-NEXT:     "col": 16,1748// CHECK-NEXT:     "tokLen": 11749// CHECK-NEXT:    },1750// CHECK-NEXT:    "range": {1751// CHECK-NEXT:     "begin": {1752// CHECK-NEXT:      "offset": 596,1753// CHECK-NEXT:      "col": 3,1754// CHECK-NEXT:      "tokLen": 71755// CHECK-NEXT:     },1756// CHECK-NEXT:     "end": {1757// CHECK-NEXT:      "offset": 611,1758// CHECK-NEXT:      "col": 18,1759// CHECK-NEXT:      "tokLen": 11760// CHECK-NEXT:     }1761// CHECK-NEXT:    },1762// CHECK-NEXT:    "name": "f",1763// CHECK-NEXT:    "mangledName": "_ZN19IsNotStandardLayout1fEv",1764// CHECK-NEXT:    "type": {1765// CHECK-NEXT:     "qualType": "void ()"1766// CHECK-NEXT:    },1767// CHECK-NEXT:    "virtual": true1768// CHECK-NEXT:   },1769// CHECK-NEXT:   {1770// CHECK-NEXT:    "id": "0x{{.*}}",1771// CHECK-NEXT:    "kind": "CXXMethodDecl",1772// CHECK-NEXT:    "loc": {1773// CHECK-NEXT:     "offset": 572,1774// CHECK-NEXT:     "line": 36,1775// CHECK-NEXT:     "col": 8,1776// CHECK-NEXT:     "tokLen": 191777// CHECK-NEXT:    },1778// CHECK-NEXT:    "range": {1779// CHECK-NEXT:     "begin": {1780// CHECK-NEXT:      "offset": 572,1781// CHECK-NEXT:      "col": 8,1782// CHECK-NEXT:      "tokLen": 191783// CHECK-NEXT:     },1784// CHECK-NEXT:     "end": {1785// CHECK-NEXT:      "offset": 572,1786// CHECK-NEXT:      "col": 8,1787// CHECK-NEXT:      "tokLen": 191788// CHECK-NEXT:     }1789// CHECK-NEXT:    },1790// CHECK-NEXT:    "isImplicit": true,1791// CHECK-NEXT:    "name": "operator=",1792// CHECK-NEXT:    "mangledName": "_ZN19IsNotStandardLayoutaSERKS_",1793// CHECK-NEXT:    "type": {1794// CHECK-NEXT:     "qualType": "IsNotStandardLayout &(const IsNotStandardLayout &)"1795// CHECK-NEXT:    },1796// CHECK-NEXT:    "inline": true,1797// CHECK-NEXT:    "constexpr": true,1798// CHECK-NEXT:    "explicitlyDefaulted": "default",1799// CHECK-NEXT:    "inner": [1800// CHECK-NEXT:     {1801// CHECK-NEXT:      "id": "0x{{.*}}",1802// CHECK-NEXT:      "kind": "ParmVarDecl",1803// CHECK-NEXT:      "loc": {1804// CHECK-NEXT:       "offset": 572,1805// CHECK-NEXT:       "col": 8,1806// CHECK-NEXT:       "tokLen": 191807// CHECK-NEXT:      },1808// CHECK-NEXT:      "range": {1809// CHECK-NEXT:       "begin": {1810// CHECK-NEXT:        "offset": 572,1811// CHECK-NEXT:        "col": 8,1812// CHECK-NEXT:        "tokLen": 191813// CHECK-NEXT:       },1814// CHECK-NEXT:       "end": {1815// CHECK-NEXT:        "offset": 572,1816// CHECK-NEXT:        "col": 8,1817// CHECK-NEXT:        "tokLen": 191818// CHECK-NEXT:       }1819// CHECK-NEXT:      },1820// CHECK-NEXT:      "type": {1821// CHECK-NEXT:       "qualType": "const IsNotStandardLayout &"1822// CHECK-NEXT:      }1823// CHECK-NEXT:     }1824// CHECK-NEXT:    ]1825// CHECK-NEXT:   },1826// CHECK-NEXT:   {1827// CHECK-NEXT:    "id": "0x{{.*}}",1828// CHECK-NEXT:    "kind": "CXXMethodDecl",1829// CHECK-NEXT:    "loc": {1830// CHECK-NEXT:     "offset": 572,1831// CHECK-NEXT:     "col": 8,1832// CHECK-NEXT:     "tokLen": 191833// CHECK-NEXT:    },1834// CHECK-NEXT:    "range": {1835// CHECK-NEXT:     "begin": {1836// CHECK-NEXT:      "offset": 572,1837// CHECK-NEXT:      "col": 8,1838// CHECK-NEXT:      "tokLen": 191839// CHECK-NEXT:     },1840// CHECK-NEXT:     "end": {1841// CHECK-NEXT:      "offset": 572,1842// CHECK-NEXT:      "col": 8,1843// CHECK-NEXT:      "tokLen": 191844// CHECK-NEXT:     }1845// CHECK-NEXT:    },1846// CHECK-NEXT:    "isImplicit": true,1847// CHECK-NEXT:    "name": "operator=",1848// CHECK-NEXT:    "mangledName": "_ZN19IsNotStandardLayoutaSEOS_",1849// CHECK-NEXT:    "type": {1850// CHECK-NEXT:     "qualType": "IsNotStandardLayout &(IsNotStandardLayout &&)"1851// CHECK-NEXT:    },1852// CHECK-NEXT:    "inline": true,1853// CHECK-NEXT:    "constexpr": true,1854// CHECK-NEXT:    "explicitlyDefaulted": "default",1855// CHECK-NEXT:    "inner": [1856// CHECK-NEXT:     {1857// CHECK-NEXT:      "id": "0x{{.*}}",1858// CHECK-NEXT:      "kind": "ParmVarDecl",1859// CHECK-NEXT:      "loc": {1860// CHECK-NEXT:       "offset": 572,1861// CHECK-NEXT:       "col": 8,1862// CHECK-NEXT:       "tokLen": 191863// CHECK-NEXT:      },1864// CHECK-NEXT:      "range": {1865// CHECK-NEXT:       "begin": {1866// CHECK-NEXT:        "offset": 572,1867// CHECK-NEXT:        "col": 8,1868// CHECK-NEXT:        "tokLen": 191869// CHECK-NEXT:       },1870// CHECK-NEXT:       "end": {1871// CHECK-NEXT:        "offset": 572,1872// CHECK-NEXT:        "col": 8,1873// CHECK-NEXT:        "tokLen": 191874// CHECK-NEXT:       }1875// CHECK-NEXT:      },1876// CHECK-NEXT:      "type": {1877// CHECK-NEXT:       "qualType": "IsNotStandardLayout &&"1878// CHECK-NEXT:      }1879// CHECK-NEXT:     }1880// CHECK-NEXT:    ]1881// CHECK-NEXT:   },1882// CHECK-NEXT:   {1883// CHECK-NEXT:    "id": "0x{{.*}}",1884// CHECK-NEXT:    "kind": "CXXDestructorDecl",1885// CHECK-NEXT:    "loc": {1886// CHECK-NEXT:     "offset": 572,1887// CHECK-NEXT:     "col": 8,1888// CHECK-NEXT:     "tokLen": 191889// CHECK-NEXT:    },1890// CHECK-NEXT:    "range": {1891// CHECK-NEXT:     "begin": {1892// CHECK-NEXT:      "offset": 572,1893// CHECK-NEXT:      "col": 8,1894// CHECK-NEXT:      "tokLen": 191895// CHECK-NEXT:     },1896// CHECK-NEXT:     "end": {1897// CHECK-NEXT:      "offset": 572,1898// CHECK-NEXT:      "col": 8,1899// CHECK-NEXT:      "tokLen": 191900// CHECK-NEXT:     }1901// CHECK-NEXT:    },1902// CHECK-NEXT:    "isImplicit": true,1903// CHECK-NEXT:    "name": "~IsNotStandardLayout",1904// CHECK-NEXT:    "mangledName": "_ZN19IsNotStandardLayoutD1Ev",1905// CHECK-NEXT:    "type": {1906// CHECK-NEXT:     "qualType": "void ()"1907// CHECK-NEXT:    },1908// CHECK-NEXT:    "inline": true,1909// CHECK-NEXT:    "explicitlyDefaulted": "default"1910// CHECK-NEXT:   }1911// CHECK-NEXT:  ]1912// CHECK-NEXT: }1913 1914 1915// CHECK-NOT: {{^}}Dumping1916// CHECK:  "kind": "CXXRecordDecl",1917// CHECK-NEXT:  "loc": {1918// CHECK-NEXT:   "offset": 625,1919// CHECK-NEXT:   "line": 40,1920// CHECK-NEXT:   "col": 8,1921// CHECK-NEXT:   "tokLen": 191922// CHECK-NEXT:  },1923// CHECK-NEXT:  "range": {1924// CHECK-NEXT:   "begin": {1925// CHECK-NEXT:    "offset": 618,1926// CHECK-NEXT:    "col": 1,1927// CHECK-NEXT:    "tokLen": 61928// CHECK-NEXT:   },1929// CHECK-NEXT:   "end": {1930// CHECK-NEXT:    "offset": 647,1931// CHECK-NEXT:    "line": 41,1932// CHECK-NEXT:    "col": 1,1933// CHECK-NEXT:    "tokLen": 11934// CHECK-NEXT:   }1935// CHECK-NEXT:  },1936// CHECK-NEXT:  "name": "IsTriviallyCopyable",1937// CHECK-NEXT:  "tagUsed": "struct",1938// CHECK-NEXT:  "completeDefinition": true,1939// CHECK-NEXT:  "definitionData": {1940// CHECK-NEXT:   "canConstDefaultInit": true,1941// CHECK-NEXT:   "canPassInRegisters": true,1942// CHECK-NEXT:   "copyAssign": {1943// CHECK-NEXT:    "hasConstParam": true,1944// CHECK-NEXT:    "implicitHasConstParam": true,1945// CHECK-NEXT:    "needsImplicit": true,1946// CHECK-NEXT:    "simple": true,1947// CHECK-NEXT:    "trivial": true1948// CHECK-NEXT:   },1949// CHECK-NEXT:   "copyCtor": {1950// CHECK-NEXT:    "hasConstParam": true,1951// CHECK-NEXT:    "implicitHasConstParam": true,1952// CHECK-NEXT:    "needsImplicit": true,1953// CHECK-NEXT:    "simple": true,1954// CHECK-NEXT:    "trivial": true1955// CHECK-NEXT:   },1956// CHECK-NEXT:   "defaultCtor": {1957// CHECK-NEXT:    "defaultedIsConstexpr": true,1958// CHECK-NEXT:    "exists": true,1959// CHECK-NEXT:    "isConstexpr": true,1960// CHECK-NEXT:    "needsImplicit": true,1961// CHECK-NEXT:    "trivial": true1962// CHECK-NEXT:   },1963// CHECK-NEXT:   "dtor": {1964// CHECK-NEXT:    "irrelevant": true,1965// CHECK-NEXT:    "needsImplicit": true,1966// CHECK-NEXT:    "simple": true,1967// CHECK-NEXT:    "trivial": true1968// CHECK-NEXT:   },1969// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,1970// CHECK-NEXT:   "isAggregate": true,1971// CHECK-NEXT:   "isEmpty": true,1972// CHECK-NEXT:   "isLiteral": true,1973// CHECK-NEXT:   "isPOD": true,1974// CHECK-NEXT:   "isStandardLayout": true,1975// CHECK-NEXT:   "isTrivial": true,1976// CHECK-NEXT:   "isTriviallyCopyable": true,1977// CHECK-NEXT:   "moveAssign": {1978// CHECK-NEXT:    "exists": true,1979// CHECK-NEXT:    "needsImplicit": true,1980// CHECK-NEXT:    "simple": true,1981// CHECK-NEXT:    "trivial": true1982// CHECK-NEXT:   },1983// CHECK-NEXT:   "moveCtor": {1984// CHECK-NEXT:    "exists": true,1985// CHECK-NEXT:    "needsImplicit": true,1986// CHECK-NEXT:    "simple": true,1987// CHECK-NEXT:    "trivial": true1988// CHECK-NEXT:   }1989// CHECK-NEXT:  },1990// CHECK-NEXT:  "inner": [1991// CHECK-NEXT:   {1992// CHECK-NEXT:    "id": "0x{{.*}}",1993// CHECK-NEXT:    "kind": "CXXRecordDecl",1994// CHECK-NEXT:    "loc": {1995// CHECK-NEXT:     "offset": 625,1996// CHECK-NEXT:     "line": 40,1997// CHECK-NEXT:     "col": 8,1998// CHECK-NEXT:     "tokLen": 191999// CHECK-NEXT:    },2000// CHECK-NEXT:    "range": {2001// CHECK-NEXT:     "begin": {2002// CHECK-NEXT:      "offset": 618,2003// CHECK-NEXT:      "col": 1,2004// CHECK-NEXT:      "tokLen": 62005// CHECK-NEXT:     },2006// CHECK-NEXT:     "end": {2007// CHECK-NEXT:      "offset": 625,2008// CHECK-NEXT:      "col": 8,2009// CHECK-NEXT:      "tokLen": 192010// CHECK-NEXT:     }2011// CHECK-NEXT:    },2012// CHECK-NEXT:    "isImplicit": true,2013// CHECK-NEXT:    "name": "IsTriviallyCopyable",2014// CHECK-NEXT:    "tagUsed": "struct"2015// CHECK-NEXT:   }2016// CHECK-NEXT:  ]2017// CHECK-NEXT: }2018 2019 2020// CHECK-NOT: {{^}}Dumping2021// CHECK:  "kind": "CXXRecordDecl",2022// CHECK-NEXT:  "loc": {2023// CHECK-NEXT:   "offset": 658,2024// CHECK-NEXT:   "line": 43,2025// CHECK-NEXT:   "col": 8,2026// CHECK-NEXT:   "tokLen": 222027// CHECK-NEXT:  },2028// CHECK-NEXT:  "range": {2029// CHECK-NEXT:   "begin": {2030// CHECK-NEXT:    "offset": 651,2031// CHECK-NEXT:    "col": 1,2032// CHECK-NEXT:    "tokLen": 62033// CHECK-NEXT:   },2034// CHECK-NEXT:   "end": {2035// CHECK-NEXT:    "offset": 742,2036// CHECK-NEXT:    "line": 45,2037// CHECK-NEXT:    "col": 1,2038// CHECK-NEXT:    "tokLen": 12039// CHECK-NEXT:   }2040// CHECK-NEXT:  },2041// CHECK-NEXT:  "name": "IsNotTriviallyCopyable",2042// CHECK-NEXT:  "tagUsed": "struct",2043// CHECK-NEXT:  "completeDefinition": true,2044// CHECK-NEXT:  "definitionData": {2045// CHECK-NEXT:   "canConstDefaultInit": true,2046// CHECK-NEXT:   "copyAssign": {2047// CHECK-NEXT:    "hasConstParam": true,2048// CHECK-NEXT:    "implicitHasConstParam": true,2049// CHECK-NEXT:    "needsImplicit": true,2050// CHECK-NEXT:    "simple": true,2051// CHECK-NEXT:    "trivial": true2052// CHECK-NEXT:   },2053// CHECK-NEXT:   "copyCtor": {2054// CHECK-NEXT:    "hasConstParam": true,2055// CHECK-NEXT:    "implicitHasConstParam": true,2056// CHECK-NEXT:    "nonTrivial": true,2057// CHECK-NEXT:    "userDeclared": true2058// CHECK-NEXT:   },2059// CHECK-NEXT:   "defaultCtor": {2060// CHECK-NEXT:    "defaultedIsConstexpr": true2061// CHECK-NEXT:   },2062// CHECK-NEXT:   "dtor": {2063// CHECK-NEXT:    "irrelevant": true,2064// CHECK-NEXT:    "needsImplicit": true,2065// CHECK-NEXT:    "simple": true,2066// CHECK-NEXT:    "trivial": true2067// CHECK-NEXT:   },2068// CHECK-NEXT:   "hasUserDeclaredConstructor": true,2069// CHECK-NEXT:   "isEmpty": true,2070// CHECK-NEXT:   "isStandardLayout": true,2071// CHECK-NEXT:   "moveAssign": {},2072// CHECK-NEXT:   "moveCtor": {}2073// CHECK-NEXT:  },2074// CHECK-NEXT:  "inner": [2075// CHECK-NEXT:   {2076// CHECK-NEXT:    "id": "0x{{.*}}",2077// CHECK-NEXT:    "kind": "CXXRecordDecl",2078// CHECK-NEXT:    "loc": {2079// CHECK-NEXT:     "offset": 658,2080// CHECK-NEXT:     "line": 43,2081// CHECK-NEXT:     "col": 8,2082// CHECK-NEXT:     "tokLen": 222083// CHECK-NEXT:    },2084// CHECK-NEXT:    "range": {2085// CHECK-NEXT:     "begin": {2086// CHECK-NEXT:      "offset": 651,2087// CHECK-NEXT:      "col": 1,2088// CHECK-NEXT:      "tokLen": 62089// CHECK-NEXT:     },2090// CHECK-NEXT:     "end": {2091// CHECK-NEXT:      "offset": 658,2092// CHECK-NEXT:      "col": 8,2093// CHECK-NEXT:      "tokLen": 222094// CHECK-NEXT:     }2095// CHECK-NEXT:    },2096// CHECK-NEXT:    "isImplicit": true,2097// CHECK-NEXT:    "isReferenced": true,2098// CHECK-NEXT:    "name": "IsNotTriviallyCopyable",2099// CHECK-NEXT:    "tagUsed": "struct"2100// CHECK-NEXT:   },2101// CHECK-NEXT:   {2102// CHECK-NEXT:    "id": "0x{{.*}}",2103// CHECK-NEXT:    "kind": "CXXConstructorDecl",2104// CHECK-NEXT:    "loc": {2105// CHECK-NEXT:     "offset": 685,2106// CHECK-NEXT:     "line": 44,2107// CHECK-NEXT:     "col": 3,2108// CHECK-NEXT:     "tokLen": 222109// CHECK-NEXT:    },2110// CHECK-NEXT:    "range": {2111// CHECK-NEXT:     "begin": {2112// CHECK-NEXT:      "offset": 685,2113// CHECK-NEXT:      "col": 3,2114// CHECK-NEXT:      "tokLen": 222115// CHECK-NEXT:     },2116// CHECK-NEXT:     "end": {2117// CHECK-NEXT:      "offset": 740,2118// CHECK-NEXT:      "col": 58,2119// CHECK-NEXT:      "tokLen": 12120// CHECK-NEXT:     }2121// CHECK-NEXT:    },2122// CHECK-NEXT:    "name": "IsNotTriviallyCopyable",2123// CHECK-NEXT:    "mangledName": "_ZN22IsNotTriviallyCopyableC1ERKS_",2124// CHECK-NEXT:    "type": {2125// CHECK-NEXT:     "qualType": "void (const IsNotTriviallyCopyable &)"2126// CHECK-NEXT:    },2127// CHECK-NEXT:    "inner": [2128// CHECK-NEXT:     {2129// CHECK-NEXT:      "id": "0x{{.*}}",2130// CHECK-NEXT:      "kind": "ParmVarDecl",2131// CHECK-NEXT:      "loc": {2132// CHECK-NEXT:       "offset": 737,2133// CHECK-NEXT:       "col": 55,2134// CHECK-NEXT:       "tokLen": 12135// CHECK-NEXT:      },2136// CHECK-NEXT:      "range": {2137// CHECK-NEXT:       "begin": {2138// CHECK-NEXT:        "offset": 708,2139// CHECK-NEXT:        "col": 26,2140// CHECK-NEXT:        "tokLen": 52141// CHECK-NEXT:       },2142// CHECK-NEXT:       "end": {2143// CHECK-NEXT:        "offset": 736,2144// CHECK-NEXT:        "col": 54,2145// CHECK-NEXT:        "tokLen": 12146// CHECK-NEXT:       }2147// CHECK-NEXT:      },2148// CHECK-NEXT:      "type": {2149// CHECK-NEXT:       "qualType": "const IsNotTriviallyCopyable &"2150// CHECK-NEXT:      }2151// CHECK-NEXT:     },2152// CHECK-NEXT:     {2153// CHECK-NEXT:      "id": "0x{{.*}}",2154// CHECK-NEXT:      "kind": "CompoundStmt",2155// CHECK-NEXT:      "range": {2156// CHECK-NEXT:       "begin": {2157// CHECK-NEXT:        "offset": 739,2158// CHECK-NEXT:        "col": 57,2159// CHECK-NEXT:        "tokLen": 12160// CHECK-NEXT:       },2161// CHECK-NEXT:       "end": {2162// CHECK-NEXT:        "offset": 740,2163// CHECK-NEXT:        "col": 58,2164// CHECK-NEXT:        "tokLen": 12165// CHECK-NEXT:       }2166// CHECK-NEXT:      }2167// CHECK-NEXT:     }2168// CHECK-NEXT:    ]2169// CHECK-NEXT:   }2170// CHECK-NEXT:  ]2171// CHECK-NEXT: }2172 2173 2174// CHECK-NOT: {{^}}Dumping2175// CHECK:  "kind": "CXXRecordDecl",2176// CHECK-NEXT:  "loc": {2177// CHECK-NEXT:   "offset": 753,2178// CHECK-NEXT:   "line": 47,2179// CHECK-NEXT:   "col": 8,2180// CHECK-NEXT:   "tokLen": 52181// CHECK-NEXT:  },2182// CHECK-NEXT:  "range": {2183// CHECK-NEXT:   "begin": {2184// CHECK-NEXT:    "offset": 746,2185// CHECK-NEXT:    "col": 1,2186// CHECK-NEXT:    "tokLen": 62187// CHECK-NEXT:   },2188// CHECK-NEXT:   "end": {2189// CHECK-NEXT:    "offset": 770,2190// CHECK-NEXT:    "line": 49,2191// CHECK-NEXT:    "col": 1,2192// CHECK-NEXT:    "tokLen": 12193// CHECK-NEXT:   }2194// CHECK-NEXT:  },2195// CHECK-NEXT:  "name": "IsPOD",2196// CHECK-NEXT:  "tagUsed": "struct",2197// CHECK-NEXT:  "completeDefinition": true,2198// CHECK-NEXT:  "definitionData": {2199// CHECK-NEXT:   "canPassInRegisters": true,2200// CHECK-NEXT:   "copyAssign": {2201// CHECK-NEXT:    "hasConstParam": true,2202// CHECK-NEXT:    "implicitHasConstParam": true,2203// CHECK-NEXT:    "needsImplicit": true,2204// CHECK-NEXT:    "simple": true,2205// CHECK-NEXT:    "trivial": true2206// CHECK-NEXT:   },2207// CHECK-NEXT:   "copyCtor": {2208// CHECK-NEXT:    "hasConstParam": true,2209// CHECK-NEXT:    "implicitHasConstParam": true,2210// CHECK-NEXT:    "needsImplicit": true,2211// CHECK-NEXT:    "simple": true,2212// CHECK-NEXT:    "trivial": true2213// CHECK-NEXT:   },2214// CHECK-NEXT:   "defaultCtor": {2215// CHECK-NEXT:    "exists": true,2216// CHECK-NEXT:    "needsImplicit": true,2217// CHECK-NEXT:    "trivial": true2218// CHECK-NEXT:   },2219// CHECK-NEXT:   "dtor": {2220// CHECK-NEXT:    "irrelevant": true,2221// CHECK-NEXT:    "needsImplicit": true,2222// CHECK-NEXT:    "simple": true,2223// CHECK-NEXT:    "trivial": true2224// CHECK-NEXT:   },2225// CHECK-NEXT:   "isAggregate": true,2226// CHECK-NEXT:   "isLiteral": true,2227// CHECK-NEXT:   "isPOD": true,2228// CHECK-NEXT:   "isStandardLayout": true,2229// CHECK-NEXT:   "isTrivial": true,2230// CHECK-NEXT:   "isTriviallyCopyable": true,2231// CHECK-NEXT:   "moveAssign": {2232// CHECK-NEXT:    "exists": true,2233// CHECK-NEXT:    "needsImplicit": true,2234// CHECK-NEXT:    "simple": true,2235// CHECK-NEXT:    "trivial": true2236// CHECK-NEXT:   },2237// CHECK-NEXT:   "moveCtor": {2238// CHECK-NEXT:    "exists": true,2239// CHECK-NEXT:    "needsImplicit": true,2240// CHECK-NEXT:    "simple": true,2241// CHECK-NEXT:    "trivial": true2242// CHECK-NEXT:   }2243// CHECK-NEXT:  },2244// CHECK-NEXT:  "inner": [2245// CHECK-NEXT:   {2246// CHECK-NEXT:    "id": "0x{{.*}}",2247// CHECK-NEXT:    "kind": "CXXRecordDecl",2248// CHECK-NEXT:    "loc": {2249// CHECK-NEXT:     "offset": 753,2250// CHECK-NEXT:     "line": 47,2251// CHECK-NEXT:     "col": 8,2252// CHECK-NEXT:     "tokLen": 52253// CHECK-NEXT:    },2254// CHECK-NEXT:    "range": {2255// CHECK-NEXT:     "begin": {2256// CHECK-NEXT:      "offset": 746,2257// CHECK-NEXT:      "col": 1,2258// CHECK-NEXT:      "tokLen": 62259// CHECK-NEXT:     },2260// CHECK-NEXT:     "end": {2261// CHECK-NEXT:      "offset": 753,2262// CHECK-NEXT:      "col": 8,2263// CHECK-NEXT:      "tokLen": 52264// CHECK-NEXT:     }2265// CHECK-NEXT:    },2266// CHECK-NEXT:    "isImplicit": true,2267// CHECK-NEXT:    "name": "IsPOD",2268// CHECK-NEXT:    "tagUsed": "struct"2269// CHECK-NEXT:   },2270// CHECK-NEXT:   {2271// CHECK-NEXT:    "id": "0x{{.*}}",2272// CHECK-NEXT:    "kind": "FieldDecl",2273// CHECK-NEXT:    "loc": {2274// CHECK-NEXT:     "offset": 767,2275// CHECK-NEXT:     "line": 48,2276// CHECK-NEXT:     "col": 7,2277// CHECK-NEXT:     "tokLen": 12278// CHECK-NEXT:    },2279// CHECK-NEXT:    "range": {2280// CHECK-NEXT:     "begin": {2281// CHECK-NEXT:      "offset": 763,2282// CHECK-NEXT:      "col": 3,2283// CHECK-NEXT:      "tokLen": 32284// CHECK-NEXT:     },2285// CHECK-NEXT:     "end": {2286// CHECK-NEXT:      "offset": 767,2287// CHECK-NEXT:      "col": 7,2288// CHECK-NEXT:      "tokLen": 12289// CHECK-NEXT:     }2290// CHECK-NEXT:    },2291// CHECK-NEXT:    "name": "a",2292// CHECK-NEXT:    "type": {2293// CHECK-NEXT:     "qualType": "int"2294// CHECK-NEXT:    }2295// CHECK-NEXT:   }2296// CHECK-NEXT:  ]2297// CHECK-NEXT: }2298 2299 2300// CHECK-NOT: {{^}}Dumping2301// CHECK:  "kind": "CXXRecordDecl",2302// CHECK-NEXT:  "loc": {2303// CHECK-NEXT:   "offset": 781,2304// CHECK-NEXT:   "line": 51,2305// CHECK-NEXT:   "col": 8,2306// CHECK-NEXT:   "tokLen": 82307// CHECK-NEXT:  },2308// CHECK-NEXT:  "range": {2309// CHECK-NEXT:   "begin": {2310// CHECK-NEXT:    "offset": 774,2311// CHECK-NEXT:    "col": 1,2312// CHECK-NEXT:    "tokLen": 62313// CHECK-NEXT:   },2314// CHECK-NEXT:   "end": {2315// CHECK-NEXT:    "offset": 802,2316// CHECK-NEXT:    "line": 53,2317// CHECK-NEXT:    "col": 1,2318// CHECK-NEXT:    "tokLen": 12319// CHECK-NEXT:   }2320// CHECK-NEXT:  },2321// CHECK-NEXT:  "name": "IsNotPOD",2322// CHECK-NEXT:  "tagUsed": "struct",2323// CHECK-NEXT:  "completeDefinition": true,2324// CHECK-NEXT:  "definitionData": {2325// CHECK-NEXT:   "canPassInRegisters": true,2326// CHECK-NEXT:   "copyAssign": {2327// CHECK-NEXT:    "hasConstParam": true,2328// CHECK-NEXT:    "implicitHasConstParam": true,2329// CHECK-NEXT:    "needsImplicit": true,2330// CHECK-NEXT:    "trivial": true2331// CHECK-NEXT:   },2332// CHECK-NEXT:   "copyCtor": {2333// CHECK-NEXT:    "hasConstParam": true,2334// CHECK-NEXT:    "implicitHasConstParam": true,2335// CHECK-NEXT:    "needsImplicit": true,2336// CHECK-NEXT:    "simple": true,2337// CHECK-NEXT:    "trivial": true2338// CHECK-NEXT:   },2339// CHECK-NEXT:   "defaultCtor": {2340// CHECK-NEXT:    "exists": true,2341// CHECK-NEXT:    "needsImplicit": true,2342// CHECK-NEXT:    "trivial": true2343// CHECK-NEXT:   },2344// CHECK-NEXT:   "dtor": {2345// CHECK-NEXT:    "irrelevant": true,2346// CHECK-NEXT:    "needsImplicit": true,2347// CHECK-NEXT:    "simple": true,2348// CHECK-NEXT:    "trivial": true2349// CHECK-NEXT:   },2350// CHECK-NEXT:   "isAggregate": true,2351// CHECK-NEXT:   "isLiteral": true,2352// CHECK-NEXT:   "isTrivial": true,2353// CHECK-NEXT:   "isTriviallyCopyable": true,2354// CHECK-NEXT:   "moveAssign": {2355// CHECK-NEXT:    "exists": true,2356// CHECK-NEXT:    "needsImplicit": true,2357// CHECK-NEXT:    "trivial": true2358// CHECK-NEXT:   },2359// CHECK-NEXT:   "moveCtor": {2360// CHECK-NEXT:    "exists": true,2361// CHECK-NEXT:    "needsImplicit": true,2362// CHECK-NEXT:    "simple": true,2363// CHECK-NEXT:    "trivial": true2364// CHECK-NEXT:   }2365// CHECK-NEXT:  },2366// CHECK-NEXT:  "inner": [2367// CHECK-NEXT:   {2368// CHECK-NEXT:    "id": "0x{{.*}}",2369// CHECK-NEXT:    "kind": "CXXRecordDecl",2370// CHECK-NEXT:    "loc": {2371// CHECK-NEXT:     "offset": 781,2372// CHECK-NEXT:     "line": 51,2373// CHECK-NEXT:     "col": 8,2374// CHECK-NEXT:     "tokLen": 82375// CHECK-NEXT:    },2376// CHECK-NEXT:    "range": {2377// CHECK-NEXT:     "begin": {2378// CHECK-NEXT:      "offset": 774,2379// CHECK-NEXT:      "col": 1,2380// CHECK-NEXT:      "tokLen": 62381// CHECK-NEXT:     },2382// CHECK-NEXT:     "end": {2383// CHECK-NEXT:      "offset": 781,2384// CHECK-NEXT:      "col": 8,2385// CHECK-NEXT:      "tokLen": 82386// CHECK-NEXT:     }2387// CHECK-NEXT:    },2388// CHECK-NEXT:    "isImplicit": true,2389// CHECK-NEXT:    "name": "IsNotPOD",2390// CHECK-NEXT:    "tagUsed": "struct"2391// CHECK-NEXT:   },2392// CHECK-NEXT:   {2393// CHECK-NEXT:    "id": "0x{{.*}}",2394// CHECK-NEXT:    "kind": "FieldDecl",2395// CHECK-NEXT:    "loc": {2396// CHECK-NEXT:     "offset": 799,2397// CHECK-NEXT:     "line": 52,2398// CHECK-NEXT:     "col": 8,2399// CHECK-NEXT:     "tokLen": 12400// CHECK-NEXT:    },2401// CHECK-NEXT:    "range": {2402// CHECK-NEXT:     "begin": {2403// CHECK-NEXT:      "offset": 794,2404// CHECK-NEXT:      "col": 3,2405// CHECK-NEXT:      "tokLen": 32406// CHECK-NEXT:     },2407// CHECK-NEXT:     "end": {2408// CHECK-NEXT:      "offset": 799,2409// CHECK-NEXT:      "col": 8,2410// CHECK-NEXT:      "tokLen": 12411// CHECK-NEXT:     }2412// CHECK-NEXT:    },2413// CHECK-NEXT:    "name": "a",2414// CHECK-NEXT:    "type": {2415// CHECK-NEXT:     "qualType": "int &"2416// CHECK-NEXT:    }2417// CHECK-NEXT:   }2418// CHECK-NEXT:  ]2419// CHECK-NEXT: }2420 2421 2422// CHECK-NOT: {{^}}Dumping2423// CHECK:  "kind": "CXXRecordDecl",2424// CHECK-NEXT:  "loc": {2425// CHECK-NEXT:   "offset": 813,2426// CHECK-NEXT:   "line": 55,2427// CHECK-NEXT:   "col": 8,2428// CHECK-NEXT:   "tokLen": 92429// CHECK-NEXT:  },2430// CHECK-NEXT:  "range": {2431// CHECK-NEXT:   "begin": {2432// CHECK-NEXT:    "offset": 806,2433// CHECK-NEXT:    "col": 1,2434// CHECK-NEXT:    "tokLen": 62435// CHECK-NEXT:   },2436// CHECK-NEXT:   "end": {2437// CHECK-NEXT:    "offset": 850,2438// CHECK-NEXT:    "line": 57,2439// CHECK-NEXT:    "col": 1,2440// CHECK-NEXT:    "tokLen": 12441// CHECK-NEXT:   }2442// CHECK-NEXT:  },2443// CHECK-NEXT:  "name": "IsTrivial",2444// CHECK-NEXT:  "tagUsed": "struct",2445// CHECK-NEXT:  "completeDefinition": true,2446// CHECK-NEXT:  "definitionData": {2447// CHECK-NEXT:   "canConstDefaultInit": true,2448// CHECK-NEXT:   "canPassInRegisters": true,2449// CHECK-NEXT:   "copyAssign": {2450// CHECK-NEXT:    "hasConstParam": true,2451// CHECK-NEXT:    "implicitHasConstParam": true,2452// CHECK-NEXT:    "needsImplicit": true,2453// CHECK-NEXT:    "simple": true,2454// CHECK-NEXT:    "trivial": true2455// CHECK-NEXT:   },2456// CHECK-NEXT:   "copyCtor": {2457// CHECK-NEXT:    "hasConstParam": true,2458// CHECK-NEXT:    "implicitHasConstParam": true,2459// CHECK-NEXT:    "needsImplicit": true,2460// CHECK-NEXT:    "simple": true,2461// CHECK-NEXT:    "trivial": true2462// CHECK-NEXT:   },2463// CHECK-NEXT:   "defaultCtor": {2464// CHECK-NEXT:    "defaultedIsConstexpr": true,2465// CHECK-NEXT:    "exists": true,2466// CHECK-NEXT:    "isConstexpr": true,2467// CHECK-NEXT:    "trivial": true2468// CHECK-NEXT:   },2469// CHECK-NEXT:   "dtor": {2470// CHECK-NEXT:    "irrelevant": true,2471// CHECK-NEXT:    "needsImplicit": true,2472// CHECK-NEXT:    "simple": true,2473// CHECK-NEXT:    "trivial": true2474// CHECK-NEXT:   },2475// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,2476// CHECK-NEXT:   "hasUserDeclaredConstructor": true,2477// CHECK-NEXT:   "isAggregate": true,2478// CHECK-NEXT:   "isEmpty": true,2479// CHECK-NEXT:   "isLiteral": true,2480// CHECK-NEXT:   "isStandardLayout": true,2481// CHECK-NEXT:   "isTrivial": true,2482// CHECK-NEXT:   "isTriviallyCopyable": true,2483// CHECK-NEXT:   "moveAssign": {2484// CHECK-NEXT:    "exists": true,2485// CHECK-NEXT:    "needsImplicit": true,2486// CHECK-NEXT:    "simple": true,2487// CHECK-NEXT:    "trivial": true2488// CHECK-NEXT:   },2489// CHECK-NEXT:   "moveCtor": {2490// CHECK-NEXT:    "exists": true,2491// CHECK-NEXT:    "needsImplicit": true,2492// CHECK-NEXT:    "simple": true,2493// CHECK-NEXT:    "trivial": true2494// CHECK-NEXT:   }2495// CHECK-NEXT:  },2496// CHECK-NEXT:  "inner": [2497// CHECK-NEXT:   {2498// CHECK-NEXT:    "id": "0x{{.*}}",2499// CHECK-NEXT:    "kind": "CXXRecordDecl",2500// CHECK-NEXT:    "loc": {2501// CHECK-NEXT:     "offset": 813,2502// CHECK-NEXT:     "line": 55,2503// CHECK-NEXT:     "col": 8,2504// CHECK-NEXT:     "tokLen": 92505// CHECK-NEXT:    },2506// CHECK-NEXT:    "range": {2507// CHECK-NEXT:     "begin": {2508// CHECK-NEXT:      "offset": 806,2509// CHECK-NEXT:      "col": 1,2510// CHECK-NEXT:      "tokLen": 62511// CHECK-NEXT:     },2512// CHECK-NEXT:     "end": {2513// CHECK-NEXT:      "offset": 813,2514// CHECK-NEXT:      "col": 8,2515// CHECK-NEXT:      "tokLen": 92516// CHECK-NEXT:     }2517// CHECK-NEXT:    },2518// CHECK-NEXT:    "isImplicit": true,2519// CHECK-NEXT:    "name": "IsTrivial",2520// CHECK-NEXT:    "tagUsed": "struct"2521// CHECK-NEXT:   },2522// CHECK-NEXT:   {2523// CHECK-NEXT:    "id": "0x{{.*}}",2524// CHECK-NEXT:    "kind": "CXXConstructorDecl",2525// CHECK-NEXT:    "loc": {2526// CHECK-NEXT:     "offset": 827,2527// CHECK-NEXT:     "line": 56,2528// CHECK-NEXT:     "col": 3,2529// CHECK-NEXT:     "tokLen": 92530// CHECK-NEXT:    },2531// CHECK-NEXT:    "range": {2532// CHECK-NEXT:     "begin": {2533// CHECK-NEXT:      "offset": 827,2534// CHECK-NEXT:      "col": 3,2535// CHECK-NEXT:      "tokLen": 92536// CHECK-NEXT:     },2537// CHECK-NEXT:     "end": {2538// CHECK-NEXT:      "offset": 847,2539// CHECK-NEXT:      "col": 23,2540// CHECK-NEXT:      "tokLen": 12541// CHECK-NEXT:     }2542// CHECK-NEXT:    },2543// CHECK-NEXT:    "name": "IsTrivial",2544// CHECK-NEXT:    "mangledName": "_ZN9IsTrivialC1Ev",2545// CHECK-NEXT:    "type": {2546// CHECK-NEXT:     "qualType": "void ()"2547// CHECK-NEXT:    },2548// CHECK-NEXT:    "constexpr": true,2549// CHECK-NEXT:    "explicitlyDefaulted": "default"2550// CHECK-NEXT:   }2551// CHECK-NEXT:  ]2552// CHECK-NEXT: }2553 2554 2555// CHECK-NOT: {{^}}Dumping2556// CHECK:  "kind": "CXXRecordDecl",2557// CHECK-NEXT:  "loc": {2558// CHECK-NEXT:   "offset": 861,2559// CHECK-NEXT:   "line": 59,2560// CHECK-NEXT:   "col": 8,2561// CHECK-NEXT:   "tokLen": 122562// CHECK-NEXT:  },2563// CHECK-NEXT:  "range": {2564// CHECK-NEXT:   "begin": {2565// CHECK-NEXT:    "offset": 854,2566// CHECK-NEXT:    "col": 1,2567// CHECK-NEXT:    "tokLen": 62568// CHECK-NEXT:   },2569// CHECK-NEXT:   "end": {2570// CHECK-NEXT:    "offset": 896,2571// CHECK-NEXT:    "line": 61,2572// CHECK-NEXT:    "col": 1,2573// CHECK-NEXT:    "tokLen": 12574// CHECK-NEXT:   }2575// CHECK-NEXT:  },2576// CHECK-NEXT:  "name": "IsNotTrivial",2577// CHECK-NEXT:  "tagUsed": "struct",2578// CHECK-NEXT:  "completeDefinition": true,2579// CHECK-NEXT:  "definitionData": {2580// CHECK-NEXT:   "canConstDefaultInit": true,2581// CHECK-NEXT:   "canPassInRegisters": true,2582// CHECK-NEXT:   "copyAssign": {2583// CHECK-NEXT:    "hasConstParam": true,2584// CHECK-NEXT:    "implicitHasConstParam": true,2585// CHECK-NEXT:    "needsImplicit": true,2586// CHECK-NEXT:    "simple": true,2587// CHECK-NEXT:    "trivial": true2588// CHECK-NEXT:   },2589// CHECK-NEXT:   "copyCtor": {2590// CHECK-NEXT:    "hasConstParam": true,2591// CHECK-NEXT:    "implicitHasConstParam": true,2592// CHECK-NEXT:    "needsImplicit": true,2593// CHECK-NEXT:    "simple": true,2594// CHECK-NEXT:    "trivial": true2595// CHECK-NEXT:   },2596// CHECK-NEXT:   "defaultCtor": {2597// CHECK-NEXT:    "defaultedIsConstexpr": true,2598// CHECK-NEXT:    "exists": true,2599// CHECK-NEXT:    "nonTrivial": true,2600// CHECK-NEXT:    "userProvided": true2601// CHECK-NEXT:   },2602// CHECK-NEXT:   "dtor": {2603// CHECK-NEXT:    "irrelevant": true,2604// CHECK-NEXT:    "needsImplicit": true,2605// CHECK-NEXT:    "simple": true,2606// CHECK-NEXT:    "trivial": true2607// CHECK-NEXT:   },2608// CHECK-NEXT:   "hasUserDeclaredConstructor": true,2609// CHECK-NEXT:   "isEmpty": true,2610// CHECK-NEXT:   "isStandardLayout": true,2611// CHECK-NEXT:   "isTriviallyCopyable": true,2612// CHECK-NEXT:   "moveAssign": {2613// CHECK-NEXT:    "exists": true,2614// CHECK-NEXT:    "needsImplicit": true,2615// CHECK-NEXT:    "simple": true,2616// CHECK-NEXT:    "trivial": true2617// CHECK-NEXT:   },2618// CHECK-NEXT:   "moveCtor": {2619// CHECK-NEXT:    "exists": true,2620// CHECK-NEXT:    "needsImplicit": true,2621// CHECK-NEXT:    "simple": true,2622// CHECK-NEXT:    "trivial": true2623// CHECK-NEXT:   }2624// CHECK-NEXT:  },2625// CHECK-NEXT:  "inner": [2626// CHECK-NEXT:   {2627// CHECK-NEXT:    "id": "0x{{.*}}",2628// CHECK-NEXT:    "kind": "CXXRecordDecl",2629// CHECK-NEXT:    "loc": {2630// CHECK-NEXT:     "offset": 861,2631// CHECK-NEXT:     "line": 59,2632// CHECK-NEXT:     "col": 8,2633// CHECK-NEXT:     "tokLen": 122634// CHECK-NEXT:    },2635// CHECK-NEXT:    "range": {2636// CHECK-NEXT:     "begin": {2637// CHECK-NEXT:      "offset": 854,2638// CHECK-NEXT:      "col": 1,2639// CHECK-NEXT:      "tokLen": 62640// CHECK-NEXT:     },2641// CHECK-NEXT:     "end": {2642// CHECK-NEXT:      "offset": 861,2643// CHECK-NEXT:      "col": 8,2644// CHECK-NEXT:      "tokLen": 122645// CHECK-NEXT:     }2646// CHECK-NEXT:    },2647// CHECK-NEXT:    "isImplicit": true,2648// CHECK-NEXT:    "name": "IsNotTrivial",2649// CHECK-NEXT:    "tagUsed": "struct"2650// CHECK-NEXT:   },2651// CHECK-NEXT:   {2652// CHECK-NEXT:    "id": "0x{{.*}}",2653// CHECK-NEXT:    "kind": "CXXConstructorDecl",2654// CHECK-NEXT:    "loc": {2655// CHECK-NEXT:     "offset": 878,2656// CHECK-NEXT:     "line": 60,2657// CHECK-NEXT:     "col": 3,2658// CHECK-NEXT:     "tokLen": 122659// CHECK-NEXT:    },2660// CHECK-NEXT:    "range": {2661// CHECK-NEXT:     "begin": {2662// CHECK-NEXT:      "offset": 878,2663// CHECK-NEXT:      "col": 3,2664// CHECK-NEXT:      "tokLen": 122665// CHECK-NEXT:     },2666// CHECK-NEXT:     "end": {2667// CHECK-NEXT:      "offset": 894,2668// CHECK-NEXT:      "col": 19,2669// CHECK-NEXT:      "tokLen": 12670// CHECK-NEXT:     }2671// CHECK-NEXT:    },2672// CHECK-NEXT:    "name": "IsNotTrivial",2673// CHECK-NEXT:    "mangledName": "_ZN12IsNotTrivialC1Ev",2674// CHECK-NEXT:    "type": {2675// CHECK-NEXT:     "qualType": "void ()"2676// CHECK-NEXT:    },2677// CHECK-NEXT:    "inner": [2678// CHECK-NEXT:     {2679// CHECK-NEXT:      "id": "0x{{.*}}",2680// CHECK-NEXT:      "kind": "CompoundStmt",2681// CHECK-NEXT:      "range": {2682// CHECK-NEXT:       "begin": {2683// CHECK-NEXT:        "offset": 893,2684// CHECK-NEXT:        "col": 18,2685// CHECK-NEXT:        "tokLen": 12686// CHECK-NEXT:       },2687// CHECK-NEXT:       "end": {2688// CHECK-NEXT:        "offset": 894,2689// CHECK-NEXT:        "col": 19,2690// CHECK-NEXT:        "tokLen": 12691// CHECK-NEXT:       }2692// CHECK-NEXT:      }2693// CHECK-NEXT:     }2694// CHECK-NEXT:    ]2695// CHECK-NEXT:   }2696// CHECK-NEXT:  ]2697// CHECK-NEXT: }2698 2699 2700// CHECK-NOT: {{^}}Dumping2701// CHECK:  "kind": "CXXRecordDecl",2702// CHECK-NEXT:  "loc": {2703// CHECK-NEXT:   "offset": 907,2704// CHECK-NEXT:   "line": 63,2705// CHECK-NEXT:   "col": 8,2706// CHECK-NEXT:   "tokLen": 132707// CHECK-NEXT:  },2708// CHECK-NEXT:  "range": {2709// CHECK-NEXT:   "begin": {2710// CHECK-NEXT:    "offset": 900,2711// CHECK-NEXT:    "col": 1,2712// CHECK-NEXT:    "tokLen": 62713// CHECK-NEXT:   },2714// CHECK-NEXT:   "end": {2715// CHECK-NEXT:    "offset": 943,2716// CHECK-NEXT:    "line": 65,2717// CHECK-NEXT:    "col": 1,2718// CHECK-NEXT:    "tokLen": 12719// CHECK-NEXT:   }2720// CHECK-NEXT:  },2721// CHECK-NEXT:  "name": "IsPolymorphic",2722// CHECK-NEXT:  "tagUsed": "struct",2723// CHECK-NEXT:  "completeDefinition": true,2724// CHECK-NEXT:  "definitionData": {2725// CHECK-NEXT:   "canConstDefaultInit": true,2726// CHECK-NEXT:   "copyAssign": {2727// CHECK-NEXT:    "hasConstParam": true,2728// CHECK-NEXT:    "implicitHasConstParam": true,2729// CHECK-NEXT:    "nonTrivial": true,2730// CHECK-NEXT:    "simple": true2731// CHECK-NEXT:   },2732// CHECK-NEXT:   "copyCtor": {2733// CHECK-NEXT:    "hasConstParam": true,2734// CHECK-NEXT:    "implicitHasConstParam": true,2735// CHECK-NEXT:    "needsImplicit": true,2736// CHECK-NEXT:    "nonTrivial": true,2737// CHECK-NEXT:    "simple": true2738// CHECK-NEXT:   },2739// CHECK-NEXT:   "defaultCtor": {2740// CHECK-NEXT:    "defaultedIsConstexpr": true,2741// CHECK-NEXT:    "exists": true,2742// CHECK-NEXT:    "isConstexpr": true,2743// CHECK-NEXT:    "needsImplicit": true,2744// CHECK-NEXT:    "nonTrivial": true2745// CHECK-NEXT:   },2746// CHECK-NEXT:   "dtor": {2747// CHECK-NEXT:    "irrelevant": true,2748// CHECK-NEXT:    "simple": true,2749// CHECK-NEXT:    "trivial": true2750// CHECK-NEXT:   },2751// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,2752// CHECK-NEXT:   "isLiteral": true,2753// CHECK-NEXT:   "isPolymorphic": true,2754// CHECK-NEXT:   "moveAssign": {2755// CHECK-NEXT:    "exists": true,2756// CHECK-NEXT:    "nonTrivial": true,2757// CHECK-NEXT:    "simple": true2758// CHECK-NEXT:   },2759// CHECK-NEXT:   "moveCtor": {2760// CHECK-NEXT:    "exists": true,2761// CHECK-NEXT:    "needsImplicit": true,2762// CHECK-NEXT:    "nonTrivial": true,2763// CHECK-NEXT:    "simple": true2764// CHECK-NEXT:   }2765// CHECK-NEXT:  },2766// CHECK-NEXT:  "inner": [2767// CHECK-NEXT:   {2768// CHECK-NEXT:    "id": "0x{{.*}}",2769// CHECK-NEXT:    "kind": "CXXRecordDecl",2770// CHECK-NEXT:    "loc": {2771// CHECK-NEXT:     "offset": 907,2772// CHECK-NEXT:     "line": 63,2773// CHECK-NEXT:     "col": 8,2774// CHECK-NEXT:     "tokLen": 132775// CHECK-NEXT:    },2776// CHECK-NEXT:    "range": {2777// CHECK-NEXT:     "begin": {2778// CHECK-NEXT:      "offset": 900,2779// CHECK-NEXT:      "col": 1,2780// CHECK-NEXT:      "tokLen": 62781// CHECK-NEXT:     },2782// CHECK-NEXT:     "end": {2783// CHECK-NEXT:      "offset": 907,2784// CHECK-NEXT:      "col": 8,2785// CHECK-NEXT:      "tokLen": 132786// CHECK-NEXT:     }2787// CHECK-NEXT:    },2788// CHECK-NEXT:    "isImplicit": true,2789// CHECK-NEXT:    "name": "IsPolymorphic",2790// CHECK-NEXT:    "tagUsed": "struct"2791// CHECK-NEXT:   },2792// CHECK-NEXT:   {2793// CHECK-NEXT:    "id": "0x{{.*}}",2794// CHECK-NEXT:    "kind": "CXXMethodDecl",2795// CHECK-NEXT:    "loc": {2796// CHECK-NEXT:     "offset": 938,2797// CHECK-NEXT:     "line": 64,2798// CHECK-NEXT:     "col": 16,2799// CHECK-NEXT:     "tokLen": 12800// CHECK-NEXT:    },2801// CHECK-NEXT:    "range": {2802// CHECK-NEXT:     "begin": {2803// CHECK-NEXT:      "offset": 925,2804// CHECK-NEXT:      "col": 3,2805// CHECK-NEXT:      "tokLen": 72806// CHECK-NEXT:     },2807// CHECK-NEXT:     "end": {2808// CHECK-NEXT:      "offset": 940,2809// CHECK-NEXT:      "col": 18,2810// CHECK-NEXT:      "tokLen": 12811// CHECK-NEXT:     }2812// CHECK-NEXT:    },2813// CHECK-NEXT:    "name": "f",2814// CHECK-NEXT:    "mangledName": "_ZN13IsPolymorphic1fEv",2815// CHECK-NEXT:    "type": {2816// CHECK-NEXT:     "qualType": "void ()"2817// CHECK-NEXT:    },2818// CHECK-NEXT:    "virtual": true2819// CHECK-NEXT:   },2820// CHECK-NEXT:   {2821// CHECK-NEXT:    "id": "0x{{.*}}",2822// CHECK-NEXT:    "kind": "CXXMethodDecl",2823// CHECK-NEXT:    "loc": {2824// CHECK-NEXT:     "offset": 907,2825// CHECK-NEXT:     "line": 63,2826// CHECK-NEXT:     "col": 8,2827// CHECK-NEXT:     "tokLen": 132828// CHECK-NEXT:    },2829// CHECK-NEXT:    "range": {2830// CHECK-NEXT:     "begin": {2831// CHECK-NEXT:      "offset": 907,2832// CHECK-NEXT:      "col": 8,2833// CHECK-NEXT:      "tokLen": 132834// CHECK-NEXT:     },2835// CHECK-NEXT:     "end": {2836// CHECK-NEXT:      "offset": 907,2837// CHECK-NEXT:      "col": 8,2838// CHECK-NEXT:      "tokLen": 132839// CHECK-NEXT:     }2840// CHECK-NEXT:    },2841// CHECK-NEXT:    "isImplicit": true,2842// CHECK-NEXT:    "name": "operator=",2843// CHECK-NEXT:    "mangledName": "_ZN13IsPolymorphicaSERKS_",2844// CHECK-NEXT:    "type": {2845// CHECK-NEXT:     "qualType": "IsPolymorphic &(const IsPolymorphic &)"2846// CHECK-NEXT:    },2847// CHECK-NEXT:    "inline": true,2848// CHECK-NEXT:    "constexpr": true,2849// CHECK-NEXT:    "explicitlyDefaulted": "default",2850// CHECK-NEXT:    "inner": [2851// CHECK-NEXT:     {2852// CHECK-NEXT:      "id": "0x{{.*}}",2853// CHECK-NEXT:      "kind": "ParmVarDecl",2854// CHECK-NEXT:      "loc": {2855// CHECK-NEXT:       "offset": 907,2856// CHECK-NEXT:       "col": 8,2857// CHECK-NEXT:       "tokLen": 132858// CHECK-NEXT:      },2859// CHECK-NEXT:      "range": {2860// CHECK-NEXT:       "begin": {2861// CHECK-NEXT:        "offset": 907,2862// CHECK-NEXT:        "col": 8,2863// CHECK-NEXT:        "tokLen": 132864// CHECK-NEXT:       },2865// CHECK-NEXT:       "end": {2866// CHECK-NEXT:        "offset": 907,2867// CHECK-NEXT:        "col": 8,2868// CHECK-NEXT:        "tokLen": 132869// CHECK-NEXT:       }2870// CHECK-NEXT:      },2871// CHECK-NEXT:      "type": {2872// CHECK-NEXT:       "qualType": "const IsPolymorphic &"2873// CHECK-NEXT:      }2874// CHECK-NEXT:     }2875// CHECK-NEXT:    ]2876// CHECK-NEXT:   },2877// CHECK-NEXT:   {2878// CHECK-NEXT:    "id": "0x{{.*}}",2879// CHECK-NEXT:    "kind": "CXXMethodDecl",2880// CHECK-NEXT:    "loc": {2881// CHECK-NEXT:     "offset": 907,2882// CHECK-NEXT:     "col": 8,2883// CHECK-NEXT:     "tokLen": 132884// CHECK-NEXT:    },2885// CHECK-NEXT:    "range": {2886// CHECK-NEXT:     "begin": {2887// CHECK-NEXT:      "offset": 907,2888// CHECK-NEXT:      "col": 8,2889// CHECK-NEXT:      "tokLen": 132890// CHECK-NEXT:     },2891// CHECK-NEXT:     "end": {2892// CHECK-NEXT:      "offset": 907,2893// CHECK-NEXT:      "col": 8,2894// CHECK-NEXT:      "tokLen": 132895// CHECK-NEXT:     }2896// CHECK-NEXT:    },2897// CHECK-NEXT:    "isImplicit": true,2898// CHECK-NEXT:    "name": "operator=",2899// CHECK-NEXT:    "mangledName": "_ZN13IsPolymorphicaSEOS_",2900// CHECK-NEXT:    "type": {2901// CHECK-NEXT:     "qualType": "IsPolymorphic &(IsPolymorphic &&)"2902// CHECK-NEXT:    },2903// CHECK-NEXT:    "inline": true,2904// CHECK-NEXT:    "constexpr": true,2905// CHECK-NEXT:    "explicitlyDefaulted": "default",2906// CHECK-NEXT:    "inner": [2907// CHECK-NEXT:     {2908// CHECK-NEXT:      "id": "0x{{.*}}",2909// CHECK-NEXT:      "kind": "ParmVarDecl",2910// CHECK-NEXT:      "loc": {2911// CHECK-NEXT:       "offset": 907,2912// CHECK-NEXT:       "col": 8,2913// CHECK-NEXT:       "tokLen": 132914// CHECK-NEXT:      },2915// CHECK-NEXT:      "range": {2916// CHECK-NEXT:       "begin": {2917// CHECK-NEXT:        "offset": 907,2918// CHECK-NEXT:        "col": 8,2919// CHECK-NEXT:        "tokLen": 132920// CHECK-NEXT:       },2921// CHECK-NEXT:       "end": {2922// CHECK-NEXT:        "offset": 907,2923// CHECK-NEXT:        "col": 8,2924// CHECK-NEXT:        "tokLen": 132925// CHECK-NEXT:       }2926// CHECK-NEXT:      },2927// CHECK-NEXT:      "type": {2928// CHECK-NEXT:       "qualType": "IsPolymorphic &&"2929// CHECK-NEXT:      }2930// CHECK-NEXT:     }2931// CHECK-NEXT:    ]2932// CHECK-NEXT:   },2933// CHECK-NEXT:   {2934// CHECK-NEXT:    "id": "0x{{.*}}",2935// CHECK-NEXT:    "kind": "CXXDestructorDecl",2936// CHECK-NEXT:    "loc": {2937// CHECK-NEXT:     "offset": 907,2938// CHECK-NEXT:     "col": 8,2939// CHECK-NEXT:     "tokLen": 132940// CHECK-NEXT:    },2941// CHECK-NEXT:    "range": {2942// CHECK-NEXT:     "begin": {2943// CHECK-NEXT:      "offset": 907,2944// CHECK-NEXT:      "col": 8,2945// CHECK-NEXT:      "tokLen": 132946// CHECK-NEXT:     },2947// CHECK-NEXT:     "end": {2948// CHECK-NEXT:      "offset": 907,2949// CHECK-NEXT:      "col": 8,2950// CHECK-NEXT:      "tokLen": 132951// CHECK-NEXT:     }2952// CHECK-NEXT:    },2953// CHECK-NEXT:    "isImplicit": true,2954// CHECK-NEXT:    "name": "~IsPolymorphic",2955// CHECK-NEXT:    "mangledName": "_ZN13IsPolymorphicD1Ev",2956// CHECK-NEXT:    "type": {2957// CHECK-NEXT:     "qualType": "void ()"2958// CHECK-NEXT:    },2959// CHECK-NEXT:    "inline": true,2960// CHECK-NEXT:    "explicitlyDefaulted": "default"2961// CHECK-NEXT:   }2962// CHECK-NEXT:  ]2963// CHECK-NEXT: }2964 2965 2966// CHECK-NOT: {{^}}Dumping2967// CHECK:  "kind": "CXXRecordDecl",2968// CHECK-NEXT:  "loc": {2969// CHECK-NEXT:   "offset": 954,2970// CHECK-NEXT:   "line": 67,2971// CHECK-NEXT:   "col": 8,2972// CHECK-NEXT:   "tokLen": 162973// CHECK-NEXT:  },2974// CHECK-NEXT:  "range": {2975// CHECK-NEXT:   "begin": {2976// CHECK-NEXT:    "offset": 947,2977// CHECK-NEXT:    "col": 1,2978// CHECK-NEXT:    "tokLen": 62979// CHECK-NEXT:   },2980// CHECK-NEXT:   "end": {2981// CHECK-NEXT:    "offset": 985,2982// CHECK-NEXT:    "line": 69,2983// CHECK-NEXT:    "col": 1,2984// CHECK-NEXT:    "tokLen": 12985// CHECK-NEXT:   }2986// CHECK-NEXT:  },2987// CHECK-NEXT:  "name": "IsNotPolymorphic",2988// CHECK-NEXT:  "tagUsed": "struct",2989// CHECK-NEXT:  "completeDefinition": true,2990// CHECK-NEXT:  "definitionData": {2991// CHECK-NEXT:   "canConstDefaultInit": true,2992// CHECK-NEXT:   "canPassInRegisters": true,2993// CHECK-NEXT:   "copyAssign": {2994// CHECK-NEXT:    "hasConstParam": true,2995// CHECK-NEXT:    "implicitHasConstParam": true,2996// CHECK-NEXT:    "needsImplicit": true,2997// CHECK-NEXT:    "simple": true,2998// CHECK-NEXT:    "trivial": true2999// CHECK-NEXT:   },3000// CHECK-NEXT:   "copyCtor": {3001// CHECK-NEXT:    "hasConstParam": true,3002// CHECK-NEXT:    "implicitHasConstParam": true,3003// CHECK-NEXT:    "needsImplicit": true,3004// CHECK-NEXT:    "simple": true,3005// CHECK-NEXT:    "trivial": true3006// CHECK-NEXT:   },3007// CHECK-NEXT:   "defaultCtor": {3008// CHECK-NEXT:    "defaultedIsConstexpr": true,3009// CHECK-NEXT:    "exists": true,3010// CHECK-NEXT:    "isConstexpr": true,3011// CHECK-NEXT:    "needsImplicit": true,3012// CHECK-NEXT:    "trivial": true3013// CHECK-NEXT:   },3014// CHECK-NEXT:   "dtor": {3015// CHECK-NEXT:    "irrelevant": true,3016// CHECK-NEXT:    "needsImplicit": true,3017// CHECK-NEXT:    "simple": true,3018// CHECK-NEXT:    "trivial": true3019// CHECK-NEXT:   },3020// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,3021// CHECK-NEXT:   "isAggregate": true,3022// CHECK-NEXT:   "isEmpty": true,3023// CHECK-NEXT:   "isLiteral": true,3024// CHECK-NEXT:   "isPOD": true,3025// CHECK-NEXT:   "isStandardLayout": true,3026// CHECK-NEXT:   "isTrivial": true,3027// CHECK-NEXT:   "isTriviallyCopyable": true,3028// CHECK-NEXT:   "moveAssign": {3029// CHECK-NEXT:    "exists": true,3030// CHECK-NEXT:    "needsImplicit": true,3031// CHECK-NEXT:    "simple": true,3032// CHECK-NEXT:    "trivial": true3033// CHECK-NEXT:   },3034// CHECK-NEXT:   "moveCtor": {3035// CHECK-NEXT:    "exists": true,3036// CHECK-NEXT:    "needsImplicit": true,3037// CHECK-NEXT:    "simple": true,3038// CHECK-NEXT:    "trivial": true3039// CHECK-NEXT:   }3040// CHECK-NEXT:  },3041// CHECK-NEXT:  "inner": [3042// CHECK-NEXT:   {3043// CHECK-NEXT:    "id": "0x{{.*}}",3044// CHECK-NEXT:    "kind": "CXXRecordDecl",3045// CHECK-NEXT:    "loc": {3046// CHECK-NEXT:     "offset": 954,3047// CHECK-NEXT:     "line": 67,3048// CHECK-NEXT:     "col": 8,3049// CHECK-NEXT:     "tokLen": 163050// CHECK-NEXT:    },3051// CHECK-NEXT:    "range": {3052// CHECK-NEXT:     "begin": {3053// CHECK-NEXT:      "offset": 947,3054// CHECK-NEXT:      "col": 1,3055// CHECK-NEXT:      "tokLen": 63056// CHECK-NEXT:     },3057// CHECK-NEXT:     "end": {3058// CHECK-NEXT:      "offset": 954,3059// CHECK-NEXT:      "col": 8,3060// CHECK-NEXT:      "tokLen": 163061// CHECK-NEXT:     }3062// CHECK-NEXT:    },3063// CHECK-NEXT:    "isImplicit": true,3064// CHECK-NEXT:    "name": "IsNotPolymorphic",3065// CHECK-NEXT:    "tagUsed": "struct"3066// CHECK-NEXT:   },3067// CHECK-NEXT:   {3068// CHECK-NEXT:    "id": "0x{{.*}}",3069// CHECK-NEXT:    "kind": "CXXMethodDecl",3070// CHECK-NEXT:    "loc": {3071// CHECK-NEXT:     "offset": 980,3072// CHECK-NEXT:     "line": 68,3073// CHECK-NEXT:     "col": 8,3074// CHECK-NEXT:     "tokLen": 13075// CHECK-NEXT:    },3076// CHECK-NEXT:    "range": {3077// CHECK-NEXT:     "begin": {3078// CHECK-NEXT:      "offset": 975,3079// CHECK-NEXT:      "col": 3,3080// CHECK-NEXT:      "tokLen": 43081// CHECK-NEXT:     },3082// CHECK-NEXT:     "end": {3083// CHECK-NEXT:      "offset": 982,3084// CHECK-NEXT:      "col": 10,3085// CHECK-NEXT:      "tokLen": 13086// CHECK-NEXT:     }3087// CHECK-NEXT:    },3088// CHECK-NEXT:    "name": "f",3089// CHECK-NEXT:    "mangledName": "_ZN16IsNotPolymorphic1fEv",3090// CHECK-NEXT:    "type": {3091// CHECK-NEXT:     "qualType": "void ()"3092// CHECK-NEXT:    }3093// CHECK-NEXT:   }3094// CHECK-NEXT:  ]3095// CHECK-NEXT: }3096 3097 3098// CHECK-NOT: {{^}}Dumping3099// CHECK:  "kind": "CXXRecordDecl",3100// CHECK-NEXT:  "loc": {3101// CHECK-NEXT:   "offset": 996,3102// CHECK-NEXT:   "line": 71,3103// CHECK-NEXT:   "col": 8,3104// CHECK-NEXT:   "tokLen": 103105// CHECK-NEXT:  },3106// CHECK-NEXT:  "range": {3107// CHECK-NEXT:   "begin": {3108// CHECK-NEXT:    "offset": 989,3109// CHECK-NEXT:    "col": 1,3110// CHECK-NEXT:    "tokLen": 63111// CHECK-NEXT:   },3112// CHECK-NEXT:   "end": {3113// CHECK-NEXT:    "offset": 1033,3114// CHECK-NEXT:    "line": 73,3115// CHECK-NEXT:    "col": 1,3116// CHECK-NEXT:    "tokLen": 13117// CHECK-NEXT:   }3118// CHECK-NEXT:  },3119// CHECK-NEXT:  "name": "IsAbstract",3120// CHECK-NEXT:  "tagUsed": "struct",3121// CHECK-NEXT:  "completeDefinition": true,3122// CHECK-NEXT:  "definitionData": {3123// CHECK-NEXT:   "canConstDefaultInit": true,3124// CHECK-NEXT:   "copyAssign": {3125// CHECK-NEXT:    "hasConstParam": true,3126// CHECK-NEXT:    "implicitHasConstParam": true,3127// CHECK-NEXT:    "nonTrivial": true,3128// CHECK-NEXT:    "simple": true3129// CHECK-NEXT:   },3130// CHECK-NEXT:   "copyCtor": {3131// CHECK-NEXT:    "hasConstParam": true,3132// CHECK-NEXT:    "implicitHasConstParam": true,3133// CHECK-NEXT:    "needsImplicit": true,3134// CHECK-NEXT:    "nonTrivial": true,3135// CHECK-NEXT:    "simple": true3136// CHECK-NEXT:   },3137// CHECK-NEXT:   "defaultCtor": {3138// CHECK-NEXT:    "defaultedIsConstexpr": true,3139// CHECK-NEXT:    "exists": true,3140// CHECK-NEXT:    "isConstexpr": true,3141// CHECK-NEXT:    "needsImplicit": true,3142// CHECK-NEXT:    "nonTrivial": true3143// CHECK-NEXT:   },3144// CHECK-NEXT:   "dtor": {3145// CHECK-NEXT:    "irrelevant": true,3146// CHECK-NEXT:    "simple": true,3147// CHECK-NEXT:    "trivial": true3148// CHECK-NEXT:   },3149// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,3150// CHECK-NEXT:   "isAbstract": true,3151// CHECK-NEXT:   "isLiteral": true,3152// CHECK-NEXT:   "isPolymorphic": true,3153// CHECK-NEXT:   "moveAssign": {3154// CHECK-NEXT:    "exists": true,3155// CHECK-NEXT:    "nonTrivial": true,3156// CHECK-NEXT:    "simple": true3157// CHECK-NEXT:   },3158// CHECK-NEXT:   "moveCtor": {3159// CHECK-NEXT:    "exists": true,3160// CHECK-NEXT:    "needsImplicit": true,3161// CHECK-NEXT:    "nonTrivial": true,3162// CHECK-NEXT:    "simple": true3163// CHECK-NEXT:   }3164// CHECK-NEXT:  },3165// CHECK-NEXT:  "inner": [3166// CHECK-NEXT:   {3167// CHECK-NEXT:    "id": "0x{{.*}}",3168// CHECK-NEXT:    "kind": "CXXRecordDecl",3169// CHECK-NEXT:    "loc": {3170// CHECK-NEXT:     "offset": 996,3171// CHECK-NEXT:     "line": 71,3172// CHECK-NEXT:     "col": 8,3173// CHECK-NEXT:     "tokLen": 103174// CHECK-NEXT:    },3175// CHECK-NEXT:    "range": {3176// CHECK-NEXT:     "begin": {3177// CHECK-NEXT:      "offset": 989,3178// CHECK-NEXT:      "col": 1,3179// CHECK-NEXT:      "tokLen": 63180// CHECK-NEXT:     },3181// CHECK-NEXT:     "end": {3182// CHECK-NEXT:      "offset": 996,3183// CHECK-NEXT:      "col": 8,3184// CHECK-NEXT:      "tokLen": 103185// CHECK-NEXT:     }3186// CHECK-NEXT:    },3187// CHECK-NEXT:    "isImplicit": true,3188// CHECK-NEXT:    "name": "IsAbstract",3189// CHECK-NEXT:    "tagUsed": "struct"3190// CHECK-NEXT:   },3191// CHECK-NEXT:   {3192// CHECK-NEXT:    "id": "0x{{.*}}",3193// CHECK-NEXT:    "kind": "CXXMethodDecl",3194// CHECK-NEXT:    "loc": {3195// CHECK-NEXT:     "offset": 1024,3196// CHECK-NEXT:     "line": 72,3197// CHECK-NEXT:     "col": 16,3198// CHECK-NEXT:     "tokLen": 13199// CHECK-NEXT:    },3200// CHECK-NEXT:    "range": {3201// CHECK-NEXT:     "begin": {3202// CHECK-NEXT:      "offset": 1011,3203// CHECK-NEXT:      "col": 3,3204// CHECK-NEXT:      "tokLen": 73205// CHECK-NEXT:     },3206// CHECK-NEXT:     "end": {3207// CHECK-NEXT:      "offset": 1030,3208// CHECK-NEXT:      "col": 22,3209// CHECK-NEXT:      "tokLen": 13210// CHECK-NEXT:     }3211// CHECK-NEXT:    },3212// CHECK-NEXT:    "name": "f",3213// CHECK-NEXT:    "mangledName": "_ZN10IsAbstract1fEv",3214// CHECK-NEXT:    "type": {3215// CHECK-NEXT:     "qualType": "void ()"3216// CHECK-NEXT:    },3217// CHECK-NEXT:    "virtual": true,3218// CHECK-NEXT:    "pure": true3219// CHECK-NEXT:   },3220// CHECK-NEXT:   {3221// CHECK-NEXT:    "id": "0x{{.*}}",3222// CHECK-NEXT:    "kind": "CXXMethodDecl",3223// CHECK-NEXT:    "loc": {3224// CHECK-NEXT:     "offset": 996,3225// CHECK-NEXT:     "line": 71,3226// CHECK-NEXT:     "col": 8,3227// CHECK-NEXT:     "tokLen": 103228// CHECK-NEXT:    },3229// CHECK-NEXT:    "range": {3230// CHECK-NEXT:     "begin": {3231// CHECK-NEXT:      "offset": 996,3232// CHECK-NEXT:      "col": 8,3233// CHECK-NEXT:      "tokLen": 103234// CHECK-NEXT:     },3235// CHECK-NEXT:     "end": {3236// CHECK-NEXT:      "offset": 996,3237// CHECK-NEXT:      "col": 8,3238// CHECK-NEXT:      "tokLen": 103239// CHECK-NEXT:     }3240// CHECK-NEXT:    },3241// CHECK-NEXT:    "isImplicit": true,3242// CHECK-NEXT:    "name": "operator=",3243// CHECK-NEXT:    "mangledName": "_ZN10IsAbstractaSERKS_",3244// CHECK-NEXT:    "type": {3245// CHECK-NEXT:     "qualType": "IsAbstract &(const IsAbstract &)"3246// CHECK-NEXT:    },3247// CHECK-NEXT:    "inline": true,3248// CHECK-NEXT:    "constexpr": true,3249// CHECK-NEXT:    "explicitlyDefaulted": "default",3250// CHECK-NEXT:    "inner": [3251// CHECK-NEXT:     {3252// CHECK-NEXT:      "id": "0x{{.*}}",3253// CHECK-NEXT:      "kind": "ParmVarDecl",3254// CHECK-NEXT:      "loc": {3255// CHECK-NEXT:       "offset": 996,3256// CHECK-NEXT:       "col": 8,3257// CHECK-NEXT:       "tokLen": 103258// CHECK-NEXT:      },3259// CHECK-NEXT:      "range": {3260// CHECK-NEXT:       "begin": {3261// CHECK-NEXT:        "offset": 996,3262// CHECK-NEXT:        "col": 8,3263// CHECK-NEXT:        "tokLen": 103264// CHECK-NEXT:       },3265// CHECK-NEXT:       "end": {3266// CHECK-NEXT:        "offset": 996,3267// CHECK-NEXT:        "col": 8,3268// CHECK-NEXT:        "tokLen": 103269// CHECK-NEXT:       }3270// CHECK-NEXT:      },3271// CHECK-NEXT:      "type": {3272// CHECK-NEXT:       "qualType": "const IsAbstract &"3273// CHECK-NEXT:      }3274// CHECK-NEXT:     }3275// CHECK-NEXT:    ]3276// CHECK-NEXT:   },3277// CHECK-NEXT:   {3278// CHECK-NEXT:    "id": "0x{{.*}}",3279// CHECK-NEXT:    "kind": "CXXMethodDecl",3280// CHECK-NEXT:    "loc": {3281// CHECK-NEXT:     "offset": 996,3282// CHECK-NEXT:     "col": 8,3283// CHECK-NEXT:     "tokLen": 103284// CHECK-NEXT:    },3285// CHECK-NEXT:    "range": {3286// CHECK-NEXT:     "begin": {3287// CHECK-NEXT:      "offset": 996,3288// CHECK-NEXT:      "col": 8,3289// CHECK-NEXT:      "tokLen": 103290// CHECK-NEXT:     },3291// CHECK-NEXT:     "end": {3292// CHECK-NEXT:      "offset": 996,3293// CHECK-NEXT:      "col": 8,3294// CHECK-NEXT:      "tokLen": 103295// CHECK-NEXT:     }3296// CHECK-NEXT:    },3297// CHECK-NEXT:    "isImplicit": true,3298// CHECK-NEXT:    "name": "operator=",3299// CHECK-NEXT:    "mangledName": "_ZN10IsAbstractaSEOS_",3300// CHECK-NEXT:    "type": {3301// CHECK-NEXT:     "qualType": "IsAbstract &(IsAbstract &&)"3302// CHECK-NEXT:    },3303// CHECK-NEXT:    "inline": true,3304// CHECK-NEXT:    "constexpr": true,3305// CHECK-NEXT:    "explicitlyDefaulted": "default",3306// CHECK-NEXT:    "inner": [3307// CHECK-NEXT:     {3308// CHECK-NEXT:      "id": "0x{{.*}}",3309// CHECK-NEXT:      "kind": "ParmVarDecl",3310// CHECK-NEXT:      "loc": {3311// CHECK-NEXT:       "offset": 996,3312// CHECK-NEXT:       "col": 8,3313// CHECK-NEXT:       "tokLen": 103314// CHECK-NEXT:      },3315// CHECK-NEXT:      "range": {3316// CHECK-NEXT:       "begin": {3317// CHECK-NEXT:        "offset": 996,3318// CHECK-NEXT:        "col": 8,3319// CHECK-NEXT:        "tokLen": 103320// CHECK-NEXT:       },3321// CHECK-NEXT:       "end": {3322// CHECK-NEXT:        "offset": 996,3323// CHECK-NEXT:        "col": 8,3324// CHECK-NEXT:        "tokLen": 103325// CHECK-NEXT:       }3326// CHECK-NEXT:      },3327// CHECK-NEXT:      "type": {3328// CHECK-NEXT:       "qualType": "IsAbstract &&"3329// CHECK-NEXT:      }3330// CHECK-NEXT:     }3331// CHECK-NEXT:    ]3332// CHECK-NEXT:   },3333// CHECK-NEXT:   {3334// CHECK-NEXT:    "id": "0x{{.*}}",3335// CHECK-NEXT:    "kind": "CXXDestructorDecl",3336// CHECK-NEXT:    "loc": {3337// CHECK-NEXT:     "offset": 996,3338// CHECK-NEXT:     "col": 8,3339// CHECK-NEXT:     "tokLen": 103340// CHECK-NEXT:    },3341// CHECK-NEXT:    "range": {3342// CHECK-NEXT:     "begin": {3343// CHECK-NEXT:      "offset": 996,3344// CHECK-NEXT:      "col": 8,3345// CHECK-NEXT:      "tokLen": 103346// CHECK-NEXT:     },3347// CHECK-NEXT:     "end": {3348// CHECK-NEXT:      "offset": 996,3349// CHECK-NEXT:      "col": 8,3350// CHECK-NEXT:      "tokLen": 103351// CHECK-NEXT:     }3352// CHECK-NEXT:    },3353// CHECK-NEXT:    "isImplicit": true,3354// CHECK-NEXT:    "name": "~IsAbstract",3355// CHECK-NEXT:    "mangledName": "_ZN10IsAbstractD1Ev",3356// CHECK-NEXT:    "type": {3357// CHECK-NEXT:     "qualType": "void ()"3358// CHECK-NEXT:    },3359// CHECK-NEXT:    "inline": true,3360// CHECK-NEXT:    "explicitlyDefaulted": "default"3361// CHECK-NEXT:   }3362// CHECK-NEXT:  ]3363// CHECK-NEXT: }3364 3365 3366// CHECK-NOT: {{^}}Dumping3367// CHECK:  "kind": "CXXRecordDecl",3368// CHECK-NEXT:  "loc": {3369// CHECK-NEXT:   "offset": 1044,3370// CHECK-NEXT:   "line": 75,3371// CHECK-NEXT:   "col": 8,3372// CHECK-NEXT:   "tokLen": 133373// CHECK-NEXT:  },3374// CHECK-NEXT:  "range": {3375// CHECK-NEXT:   "begin": {3376// CHECK-NEXT:    "offset": 1037,3377// CHECK-NEXT:    "col": 1,3378// CHECK-NEXT:    "tokLen": 63379// CHECK-NEXT:   },3380// CHECK-NEXT:   "end": {3381// CHECK-NEXT:    "offset": 1080,3382// CHECK-NEXT:    "line": 77,3383// CHECK-NEXT:    "col": 1,3384// CHECK-NEXT:    "tokLen": 13385// CHECK-NEXT:   }3386// CHECK-NEXT:  },3387// CHECK-NEXT:  "name": "IsNotAbstract",3388// CHECK-NEXT:  "tagUsed": "struct",3389// CHECK-NEXT:  "completeDefinition": true,3390// CHECK-NEXT:  "definitionData": {3391// CHECK-NEXT:   "canConstDefaultInit": true,3392// CHECK-NEXT:   "copyAssign": {3393// CHECK-NEXT:    "hasConstParam": true,3394// CHECK-NEXT:    "implicitHasConstParam": true,3395// CHECK-NEXT:    "nonTrivial": true,3396// CHECK-NEXT:    "simple": true3397// CHECK-NEXT:   },3398// CHECK-NEXT:   "copyCtor": {3399// CHECK-NEXT:    "hasConstParam": true,3400// CHECK-NEXT:    "implicitHasConstParam": true,3401// CHECK-NEXT:    "needsImplicit": true,3402// CHECK-NEXT:    "nonTrivial": true,3403// CHECK-NEXT:    "simple": true3404// CHECK-NEXT:   },3405// CHECK-NEXT:   "defaultCtor": {3406// CHECK-NEXT:    "defaultedIsConstexpr": true,3407// CHECK-NEXT:    "exists": true,3408// CHECK-NEXT:    "isConstexpr": true,3409// CHECK-NEXT:    "needsImplicit": true,3410// CHECK-NEXT:    "nonTrivial": true3411// CHECK-NEXT:   },3412// CHECK-NEXT:   "dtor": {3413// CHECK-NEXT:    "irrelevant": true,3414// CHECK-NEXT:    "simple": true,3415// CHECK-NEXT:    "trivial": true3416// CHECK-NEXT:   },3417// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,3418// CHECK-NEXT:   "isLiteral": true,3419// CHECK-NEXT:   "isPolymorphic": true,3420// CHECK-NEXT:   "moveAssign": {3421// CHECK-NEXT:    "exists": true,3422// CHECK-NEXT:    "nonTrivial": true,3423// CHECK-NEXT:    "simple": true3424// CHECK-NEXT:   },3425// CHECK-NEXT:   "moveCtor": {3426// CHECK-NEXT:    "exists": true,3427// CHECK-NEXT:    "needsImplicit": true,3428// CHECK-NEXT:    "nonTrivial": true,3429// CHECK-NEXT:    "simple": true3430// CHECK-NEXT:   }3431// CHECK-NEXT:  },3432// CHECK-NEXT:  "inner": [3433// CHECK-NEXT:   {3434// CHECK-NEXT:    "id": "0x{{.*}}",3435// CHECK-NEXT:    "kind": "CXXRecordDecl",3436// CHECK-NEXT:    "loc": {3437// CHECK-NEXT:     "offset": 1044,3438// CHECK-NEXT:     "line": 75,3439// CHECK-NEXT:     "col": 8,3440// CHECK-NEXT:     "tokLen": 133441// CHECK-NEXT:    },3442// CHECK-NEXT:    "range": {3443// CHECK-NEXT:     "begin": {3444// CHECK-NEXT:      "offset": 1037,3445// CHECK-NEXT:      "col": 1,3446// CHECK-NEXT:      "tokLen": 63447// CHECK-NEXT:     },3448// CHECK-NEXT:     "end": {3449// CHECK-NEXT:      "offset": 1044,3450// CHECK-NEXT:      "col": 8,3451// CHECK-NEXT:      "tokLen": 133452// CHECK-NEXT:     }3453// CHECK-NEXT:    },3454// CHECK-NEXT:    "isImplicit": true,3455// CHECK-NEXT:    "name": "IsNotAbstract",3456// CHECK-NEXT:    "tagUsed": "struct"3457// CHECK-NEXT:   },3458// CHECK-NEXT:   {3459// CHECK-NEXT:    "id": "0x{{.*}}",3460// CHECK-NEXT:    "kind": "CXXMethodDecl",3461// CHECK-NEXT:    "loc": {3462// CHECK-NEXT:     "offset": 1075,3463// CHECK-NEXT:     "line": 76,3464// CHECK-NEXT:     "col": 16,3465// CHECK-NEXT:     "tokLen": 13466// CHECK-NEXT:    },3467// CHECK-NEXT:    "range": {3468// CHECK-NEXT:     "begin": {3469// CHECK-NEXT:      "offset": 1062,3470// CHECK-NEXT:      "col": 3,3471// CHECK-NEXT:      "tokLen": 73472// CHECK-NEXT:     },3473// CHECK-NEXT:     "end": {3474// CHECK-NEXT:      "offset": 1077,3475// CHECK-NEXT:      "col": 18,3476// CHECK-NEXT:      "tokLen": 13477// CHECK-NEXT:     }3478// CHECK-NEXT:    },3479// CHECK-NEXT:    "name": "f",3480// CHECK-NEXT:    "mangledName": "_ZN13IsNotAbstract1fEv",3481// CHECK-NEXT:    "type": {3482// CHECK-NEXT:     "qualType": "void ()"3483// CHECK-NEXT:    },3484// CHECK-NEXT:    "virtual": true3485// CHECK-NEXT:   },3486// CHECK-NEXT:   {3487// CHECK-NEXT:    "id": "0x{{.*}}",3488// CHECK-NEXT:    "kind": "CXXMethodDecl",3489// CHECK-NEXT:    "loc": {3490// CHECK-NEXT:     "offset": 1044,3491// CHECK-NEXT:     "line": 75,3492// CHECK-NEXT:     "col": 8,3493// CHECK-NEXT:     "tokLen": 133494// CHECK-NEXT:    },3495// CHECK-NEXT:    "range": {3496// CHECK-NEXT:     "begin": {3497// CHECK-NEXT:      "offset": 1044,3498// CHECK-NEXT:      "col": 8,3499// CHECK-NEXT:      "tokLen": 133500// CHECK-NEXT:     },3501// CHECK-NEXT:     "end": {3502// CHECK-NEXT:      "offset": 1044,3503// CHECK-NEXT:      "col": 8,3504// CHECK-NEXT:      "tokLen": 133505// CHECK-NEXT:     }3506// CHECK-NEXT:    },3507// CHECK-NEXT:    "isImplicit": true,3508// CHECK-NEXT:    "name": "operator=",3509// CHECK-NEXT:    "mangledName": "_ZN13IsNotAbstractaSERKS_",3510// CHECK-NEXT:    "type": {3511// CHECK-NEXT:     "qualType": "IsNotAbstract &(const IsNotAbstract &)"3512// CHECK-NEXT:    },3513// CHECK-NEXT:    "inline": true,3514// CHECK-NEXT:    "constexpr": true,3515// CHECK-NEXT:    "explicitlyDefaulted": "default",3516// CHECK-NEXT:    "inner": [3517// CHECK-NEXT:     {3518// CHECK-NEXT:      "id": "0x{{.*}}",3519// CHECK-NEXT:      "kind": "ParmVarDecl",3520// CHECK-NEXT:      "loc": {3521// CHECK-NEXT:       "offset": 1044,3522// CHECK-NEXT:       "col": 8,3523// CHECK-NEXT:       "tokLen": 133524// CHECK-NEXT:      },3525// CHECK-NEXT:      "range": {3526// CHECK-NEXT:       "begin": {3527// CHECK-NEXT:        "offset": 1044,3528// CHECK-NEXT:        "col": 8,3529// CHECK-NEXT:        "tokLen": 133530// CHECK-NEXT:       },3531// CHECK-NEXT:       "end": {3532// CHECK-NEXT:        "offset": 1044,3533// CHECK-NEXT:        "col": 8,3534// CHECK-NEXT:        "tokLen": 133535// CHECK-NEXT:       }3536// CHECK-NEXT:      },3537// CHECK-NEXT:      "type": {3538// CHECK-NEXT:       "qualType": "const IsNotAbstract &"3539// CHECK-NEXT:      }3540// CHECK-NEXT:     }3541// CHECK-NEXT:    ]3542// CHECK-NEXT:   },3543// CHECK-NEXT:   {3544// CHECK-NEXT:    "id": "0x{{.*}}",3545// CHECK-NEXT:    "kind": "CXXMethodDecl",3546// CHECK-NEXT:    "loc": {3547// CHECK-NEXT:     "offset": 1044,3548// CHECK-NEXT:     "col": 8,3549// CHECK-NEXT:     "tokLen": 133550// CHECK-NEXT:    },3551// CHECK-NEXT:    "range": {3552// CHECK-NEXT:     "begin": {3553// CHECK-NEXT:      "offset": 1044,3554// CHECK-NEXT:      "col": 8,3555// CHECK-NEXT:      "tokLen": 133556// CHECK-NEXT:     },3557// CHECK-NEXT:     "end": {3558// CHECK-NEXT:      "offset": 1044,3559// CHECK-NEXT:      "col": 8,3560// CHECK-NEXT:      "tokLen": 133561// CHECK-NEXT:     }3562// CHECK-NEXT:    },3563// CHECK-NEXT:    "isImplicit": true,3564// CHECK-NEXT:    "name": "operator=",3565// CHECK-NEXT:    "mangledName": "_ZN13IsNotAbstractaSEOS_",3566// CHECK-NEXT:    "type": {3567// CHECK-NEXT:     "qualType": "IsNotAbstract &(IsNotAbstract &&)"3568// CHECK-NEXT:    },3569// CHECK-NEXT:    "inline": true,3570// CHECK-NEXT:    "constexpr": true,3571// CHECK-NEXT:    "explicitlyDefaulted": "default",3572// CHECK-NEXT:    "inner": [3573// CHECK-NEXT:     {3574// CHECK-NEXT:      "id": "0x{{.*}}",3575// CHECK-NEXT:      "kind": "ParmVarDecl",3576// CHECK-NEXT:      "loc": {3577// CHECK-NEXT:       "offset": 1044,3578// CHECK-NEXT:       "col": 8,3579// CHECK-NEXT:       "tokLen": 133580// CHECK-NEXT:      },3581// CHECK-NEXT:      "range": {3582// CHECK-NEXT:       "begin": {3583// CHECK-NEXT:        "offset": 1044,3584// CHECK-NEXT:        "col": 8,3585// CHECK-NEXT:        "tokLen": 133586// CHECK-NEXT:       },3587// CHECK-NEXT:       "end": {3588// CHECK-NEXT:        "offset": 1044,3589// CHECK-NEXT:        "col": 8,3590// CHECK-NEXT:        "tokLen": 133591// CHECK-NEXT:       }3592// CHECK-NEXT:      },3593// CHECK-NEXT:      "type": {3594// CHECK-NEXT:       "qualType": "IsNotAbstract &&"3595// CHECK-NEXT:      }3596// CHECK-NEXT:     }3597// CHECK-NEXT:    ]3598// CHECK-NEXT:   },3599// CHECK-NEXT:   {3600// CHECK-NEXT:    "id": "0x{{.*}}",3601// CHECK-NEXT:    "kind": "CXXDestructorDecl",3602// CHECK-NEXT:    "loc": {3603// CHECK-NEXT:     "offset": 1044,3604// CHECK-NEXT:     "col": 8,3605// CHECK-NEXT:     "tokLen": 133606// CHECK-NEXT:    },3607// CHECK-NEXT:    "range": {3608// CHECK-NEXT:     "begin": {3609// CHECK-NEXT:      "offset": 1044,3610// CHECK-NEXT:      "col": 8,3611// CHECK-NEXT:      "tokLen": 133612// CHECK-NEXT:     },3613// CHECK-NEXT:     "end": {3614// CHECK-NEXT:      "offset": 1044,3615// CHECK-NEXT:      "col": 8,3616// CHECK-NEXT:      "tokLen": 133617// CHECK-NEXT:     }3618// CHECK-NEXT:    },3619// CHECK-NEXT:    "isImplicit": true,3620// CHECK-NEXT:    "name": "~IsNotAbstract",3621// CHECK-NEXT:    "mangledName": "_ZN13IsNotAbstractD1Ev",3622// CHECK-NEXT:    "type": {3623// CHECK-NEXT:     "qualType": "void ()"3624// CHECK-NEXT:    },3625// CHECK-NEXT:    "inline": true,3626// CHECK-NEXT:    "explicitlyDefaulted": "default"3627// CHECK-NEXT:   }3628// CHECK-NEXT:  ]3629// CHECK-NEXT: }3630 3631 3632// CHECK-NOT: {{^}}Dumping3633// CHECK:  "kind": "CXXRecordDecl",3634// CHECK-NEXT:  "loc": {3635// CHECK-NEXT:   "offset": 1091,3636// CHECK-NEXT:   "line": 79,3637// CHECK-NEXT:   "col": 8,3638// CHECK-NEXT:   "tokLen": 93639// CHECK-NEXT:  },3640// CHECK-NEXT:  "range": {3641// CHECK-NEXT:   "begin": {3642// CHECK-NEXT:    "offset": 1084,3643// CHECK-NEXT:    "col": 1,3644// CHECK-NEXT:    "tokLen": 63645// CHECK-NEXT:   },3646// CHECK-NEXT:   "end": {3647// CHECK-NEXT:    "offset": 1129,3648// CHECK-NEXT:    "line": 81,3649// CHECK-NEXT:    "col": 1,3650// CHECK-NEXT:    "tokLen": 13651// CHECK-NEXT:   }3652// CHECK-NEXT:  },3653// CHECK-NEXT:  "name": "IsLiteral",3654// CHECK-NEXT:  "tagUsed": "struct",3655// CHECK-NEXT:  "completeDefinition": true,3656// CHECK-NEXT:  "definitionData": {3657// CHECK-NEXT:   "canConstDefaultInit": true,3658// CHECK-NEXT:   "canPassInRegisters": true,3659// CHECK-NEXT:   "copyAssign": {3660// CHECK-NEXT:    "hasConstParam": true,3661// CHECK-NEXT:    "implicitHasConstParam": true,3662// CHECK-NEXT:    "needsImplicit": true,3663// CHECK-NEXT:    "simple": true,3664// CHECK-NEXT:    "trivial": true3665// CHECK-NEXT:   },3666// CHECK-NEXT:   "copyCtor": {3667// CHECK-NEXT:    "hasConstParam": true,3668// CHECK-NEXT:    "implicitHasConstParam": true,3669// CHECK-NEXT:    "needsImplicit": true,3670// CHECK-NEXT:    "simple": true,3671// CHECK-NEXT:    "trivial": true3672// CHECK-NEXT:   },3673// CHECK-NEXT:   "defaultCtor": {3674// CHECK-NEXT:    "defaultedIsConstexpr": true,3675// CHECK-NEXT:    "exists": true,3676// CHECK-NEXT:    "isConstexpr": true,3677// CHECK-NEXT:    "needsImplicit": true,3678// CHECK-NEXT:    "trivial": true3679// CHECK-NEXT:   },3680// CHECK-NEXT:   "dtor": {3681// CHECK-NEXT:    "irrelevant": true,3682// CHECK-NEXT:    "trivial": true,3683// CHECK-NEXT:    "userDeclared": true3684// CHECK-NEXT:   },3685// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,3686// CHECK-NEXT:   "isAggregate": true,3687// CHECK-NEXT:   "isEmpty": true,3688// CHECK-NEXT:   "isLiteral": true,3689// CHECK-NEXT:   "isStandardLayout": true,3690// CHECK-NEXT:   "isTrivial": true,3691// CHECK-NEXT:   "isTriviallyCopyable": true,3692// CHECK-NEXT:   "moveAssign": {},3693// CHECK-NEXT:   "moveCtor": {}3694// CHECK-NEXT:  },3695// CHECK-NEXT:  "inner": [3696// CHECK-NEXT:   {3697// CHECK-NEXT:    "id": "0x{{.*}}",3698// CHECK-NEXT:    "kind": "CXXRecordDecl",3699// CHECK-NEXT:    "loc": {3700// CHECK-NEXT:     "offset": 1091,3701// CHECK-NEXT:     "line": 79,3702// CHECK-NEXT:     "col": 8,3703// CHECK-NEXT:     "tokLen": 93704// CHECK-NEXT:    },3705// CHECK-NEXT:    "range": {3706// CHECK-NEXT:     "begin": {3707// CHECK-NEXT:      "offset": 1084,3708// CHECK-NEXT:      "col": 1,3709// CHECK-NEXT:      "tokLen": 63710// CHECK-NEXT:     },3711// CHECK-NEXT:     "end": {3712// CHECK-NEXT:      "offset": 1091,3713// CHECK-NEXT:      "col": 8,3714// CHECK-NEXT:      "tokLen": 93715// CHECK-NEXT:     }3716// CHECK-NEXT:    },3717// CHECK-NEXT:    "isImplicit": true,3718// CHECK-NEXT:    "isReferenced": true,3719// CHECK-NEXT:    "name": "IsLiteral",3720// CHECK-NEXT:    "tagUsed": "struct"3721// CHECK-NEXT:   },3722// CHECK-NEXT:   {3723// CHECK-NEXT:    "id": "0x{{.*}}",3724// CHECK-NEXT:    "kind": "CXXDestructorDecl",3725// CHECK-NEXT:    "loc": {3726// CHECK-NEXT:     "offset": 1105,3727// CHECK-NEXT:     "line": 80,3728// CHECK-NEXT:     "col": 3,3729// CHECK-NEXT:     "tokLen": 13730// CHECK-NEXT:    },3731// CHECK-NEXT:    "range": {3732// CHECK-NEXT:     "begin": {3733// CHECK-NEXT:      "offset": 1105,3734// CHECK-NEXT:      "col": 3,3735// CHECK-NEXT:      "tokLen": 13736// CHECK-NEXT:     },3737// CHECK-NEXT:     "end": {3738// CHECK-NEXT:      "offset": 1126,3739// CHECK-NEXT:      "col": 24,3740// CHECK-NEXT:      "tokLen": 13741// CHECK-NEXT:     }3742// CHECK-NEXT:    },3743// CHECK-NEXT:    "name": "~IsLiteral",3744// CHECK-NEXT:    "mangledName": "_ZN9IsLiteralD1Ev",3745// CHECK-NEXT:    "type": {3746// CHECK-NEXT:     "qualType": "void ()"3747// CHECK-NEXT:    },3748// CHECK-NEXT:    "explicitlyDefaulted": "default"3749// CHECK-NEXT:   }3750// CHECK-NEXT:  ]3751// CHECK-NEXT: }3752 3753 3754// CHECK-NOT: {{^}}Dumping3755// CHECK:  "kind": "CXXRecordDecl",3756// CHECK-NEXT:  "loc": {3757// CHECK-NEXT:   "offset": 1140,3758// CHECK-NEXT:   "line": 83,3759// CHECK-NEXT:   "col": 8,3760// CHECK-NEXT:   "tokLen": 123761// CHECK-NEXT:  },3762// CHECK-NEXT:  "range": {3763// CHECK-NEXT:   "begin": {3764// CHECK-NEXT:    "offset": 1133,3765// CHECK-NEXT:    "col": 1,3766// CHECK-NEXT:    "tokLen": 63767// CHECK-NEXT:   },3768// CHECK-NEXT:   "end": {3769// CHECK-NEXT:    "offset": 1176,3770// CHECK-NEXT:    "line": 85,3771// CHECK-NEXT:    "col": 1,3772// CHECK-NEXT:    "tokLen": 13773// CHECK-NEXT:   }3774// CHECK-NEXT:  },3775// CHECK-NEXT:  "name": "IsNotLiteral",3776// CHECK-NEXT:  "tagUsed": "struct",3777// CHECK-NEXT:  "completeDefinition": true,3778// CHECK-NEXT:  "definitionData": {3779// CHECK-NEXT:   "canConstDefaultInit": true,3780// CHECK-NEXT:   "copyAssign": {3781// CHECK-NEXT:    "hasConstParam": true,3782// CHECK-NEXT:    "implicitHasConstParam": true,3783// CHECK-NEXT:    "needsImplicit": true,3784// CHECK-NEXT:    "simple": true,3785// CHECK-NEXT:    "trivial": true3786// CHECK-NEXT:   },3787// CHECK-NEXT:   "copyCtor": {3788// CHECK-NEXT:    "hasConstParam": true,3789// CHECK-NEXT:    "implicitHasConstParam": true,3790// CHECK-NEXT:    "needsImplicit": true,3791// CHECK-NEXT:    "simple": true,3792// CHECK-NEXT:    "trivial": true3793// CHECK-NEXT:   },3794// CHECK-NEXT:   "defaultCtor": {3795// CHECK-NEXT:    "defaultedIsConstexpr": true,3796// CHECK-NEXT:    "exists": true,3797// CHECK-NEXT:    "isConstexpr": true,3798// CHECK-NEXT:    "needsImplicit": true,3799// CHECK-NEXT:    "trivial": true3800// CHECK-NEXT:   },3801// CHECK-NEXT:   "dtor": {3802// CHECK-NEXT:    "nonTrivial": true,3803// CHECK-NEXT:    "userDeclared": true3804// CHECK-NEXT:   },3805// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,3806// CHECK-NEXT:   "isAggregate": true,3807// CHECK-NEXT:   "isEmpty": true,3808// CHECK-NEXT:   "isStandardLayout": true,3809// CHECK-NEXT:   "moveAssign": {},3810// CHECK-NEXT:   "moveCtor": {}3811// CHECK-NEXT:  },3812// CHECK-NEXT:  "inner": [3813// CHECK-NEXT:   {3814// CHECK-NEXT:    "id": "0x{{.*}}",3815// CHECK-NEXT:    "kind": "CXXRecordDecl",3816// CHECK-NEXT:    "loc": {3817// CHECK-NEXT:     "offset": 1140,3818// CHECK-NEXT:     "line": 83,3819// CHECK-NEXT:     "col": 8,3820// CHECK-NEXT:     "tokLen": 123821// CHECK-NEXT:    },3822// CHECK-NEXT:    "range": {3823// CHECK-NEXT:     "begin": {3824// CHECK-NEXT:      "offset": 1133,3825// CHECK-NEXT:      "col": 1,3826// CHECK-NEXT:      "tokLen": 63827// CHECK-NEXT:     },3828// CHECK-NEXT:     "end": {3829// CHECK-NEXT:      "offset": 1140,3830// CHECK-NEXT:      "col": 8,3831// CHECK-NEXT:      "tokLen": 123832// CHECK-NEXT:     }3833// CHECK-NEXT:    },3834// CHECK-NEXT:    "isImplicit": true,3835// CHECK-NEXT:    "isReferenced": true,3836// CHECK-NEXT:    "name": "IsNotLiteral",3837// CHECK-NEXT:    "tagUsed": "struct"3838// CHECK-NEXT:   },3839// CHECK-NEXT:   {3840// CHECK-NEXT:    "id": "0x{{.*}}",3841// CHECK-NEXT:    "kind": "CXXDestructorDecl",3842// CHECK-NEXT:    "loc": {3843// CHECK-NEXT:     "offset": 1157,3844// CHECK-NEXT:     "line": 84,3845// CHECK-NEXT:     "col": 3,3846// CHECK-NEXT:     "tokLen": 13847// CHECK-NEXT:    },3848// CHECK-NEXT:    "range": {3849// CHECK-NEXT:     "begin": {3850// CHECK-NEXT:      "offset": 1157,3851// CHECK-NEXT:      "col": 3,3852// CHECK-NEXT:      "tokLen": 13853// CHECK-NEXT:     },3854// CHECK-NEXT:     "end": {3855// CHECK-NEXT:      "offset": 1174,3856// CHECK-NEXT:      "col": 20,3857// CHECK-NEXT:      "tokLen": 13858// CHECK-NEXT:     }3859// CHECK-NEXT:    },3860// CHECK-NEXT:    "name": "~IsNotLiteral",3861// CHECK-NEXT:    "mangledName": "_ZN12IsNotLiteralD1Ev",3862// CHECK-NEXT:    "type": {3863// CHECK-NEXT:     "qualType": "void () noexcept"3864// CHECK-NEXT:    },3865// CHECK-NEXT:    "inner": [3866// CHECK-NEXT:     {3867// CHECK-NEXT:      "id": "0x{{.*}}",3868// CHECK-NEXT:      "kind": "CompoundStmt",3869// CHECK-NEXT:      "range": {3870// CHECK-NEXT:       "begin": {3871// CHECK-NEXT:        "offset": 1173,3872// CHECK-NEXT:        "col": 19,3873// CHECK-NEXT:        "tokLen": 13874// CHECK-NEXT:       },3875// CHECK-NEXT:       "end": {3876// CHECK-NEXT:        "offset": 1174,3877// CHECK-NEXT:        "col": 20,3878// CHECK-NEXT:        "tokLen": 13879// CHECK-NEXT:       }3880// CHECK-NEXT:      }3881// CHECK-NEXT:     }3882// CHECK-NEXT:    ]3883// CHECK-NEXT:   }3884// CHECK-NEXT:  ]3885// CHECK-NEXT: }3886 3887 3888// CHECK-NOT: {{^}}Dumping3889// CHECK:  "kind": "CXXRecordDecl",3890// CHECK-NEXT:  "loc": {3891// CHECK-NEXT:   "offset": 1187,3892// CHECK-NEXT:   "line": 87,3893// CHECK-NEXT:   "col": 8,3894// CHECK-NEXT:   "tokLen": 263895// CHECK-NEXT:  },3896// CHECK-NEXT:  "range": {3897// CHECK-NEXT:   "begin": {3898// CHECK-NEXT:    "offset": 1180,3899// CHECK-NEXT:    "col": 1,3900// CHECK-NEXT:    "tokLen": 63901// CHECK-NEXT:   },3902// CHECK-NEXT:   "end": {3903// CHECK-NEXT:    "offset": 1250,3904// CHECK-NEXT:    "line": 89,3905// CHECK-NEXT:    "col": 1,3906// CHECK-NEXT:    "tokLen": 13907// CHECK-NEXT:   }3908// CHECK-NEXT:  },3909// CHECK-NEXT:  "name": "HasUserDeclaredConstructor",3910// CHECK-NEXT:  "tagUsed": "struct",3911// CHECK-NEXT:  "completeDefinition": true,3912// CHECK-NEXT:  "definitionData": {3913// CHECK-NEXT:   "canConstDefaultInit": true,3914// CHECK-NEXT:   "canPassInRegisters": true,3915// CHECK-NEXT:   "copyAssign": {3916// CHECK-NEXT:    "hasConstParam": true,3917// CHECK-NEXT:    "implicitHasConstParam": true,3918// CHECK-NEXT:    "needsImplicit": true,3919// CHECK-NEXT:    "simple": true,3920// CHECK-NEXT:    "trivial": true3921// CHECK-NEXT:   },3922// CHECK-NEXT:   "copyCtor": {3923// CHECK-NEXT:    "hasConstParam": true,3924// CHECK-NEXT:    "implicitHasConstParam": true,3925// CHECK-NEXT:    "needsImplicit": true,3926// CHECK-NEXT:    "simple": true,3927// CHECK-NEXT:    "trivial": true3928// CHECK-NEXT:   },3929// CHECK-NEXT:   "defaultCtor": {3930// CHECK-NEXT:    "defaultedIsConstexpr": true,3931// CHECK-NEXT:    "exists": true,3932// CHECK-NEXT:    "nonTrivial": true,3933// CHECK-NEXT:    "userProvided": true3934// CHECK-NEXT:   },3935// CHECK-NEXT:   "dtor": {3936// CHECK-NEXT:    "irrelevant": true,3937// CHECK-NEXT:    "needsImplicit": true,3938// CHECK-NEXT:    "simple": true,3939// CHECK-NEXT:    "trivial": true3940// CHECK-NEXT:   },3941// CHECK-NEXT:   "hasUserDeclaredConstructor": true,3942// CHECK-NEXT:   "isEmpty": true,3943// CHECK-NEXT:   "isStandardLayout": true,3944// CHECK-NEXT:   "isTriviallyCopyable": true,3945// CHECK-NEXT:   "moveAssign": {3946// CHECK-NEXT:    "exists": true,3947// CHECK-NEXT:    "needsImplicit": true,3948// CHECK-NEXT:    "simple": true,3949// CHECK-NEXT:    "trivial": true3950// CHECK-NEXT:   },3951// CHECK-NEXT:   "moveCtor": {3952// CHECK-NEXT:    "exists": true,3953// CHECK-NEXT:    "needsImplicit": true,3954// CHECK-NEXT:    "simple": true,3955// CHECK-NEXT:    "trivial": true3956// CHECK-NEXT:   }3957// CHECK-NEXT:  },3958// CHECK-NEXT:  "inner": [3959// CHECK-NEXT:   {3960// CHECK-NEXT:    "id": "0x{{.*}}",3961// CHECK-NEXT:    "kind": "CXXRecordDecl",3962// CHECK-NEXT:    "loc": {3963// CHECK-NEXT:     "offset": 1187,3964// CHECK-NEXT:     "line": 87,3965// CHECK-NEXT:     "col": 8,3966// CHECK-NEXT:     "tokLen": 263967// CHECK-NEXT:    },3968// CHECK-NEXT:    "range": {3969// CHECK-NEXT:     "begin": {3970// CHECK-NEXT:      "offset": 1180,3971// CHECK-NEXT:      "col": 1,3972// CHECK-NEXT:      "tokLen": 63973// CHECK-NEXT:     },3974// CHECK-NEXT:     "end": {3975// CHECK-NEXT:      "offset": 1187,3976// CHECK-NEXT:      "col": 8,3977// CHECK-NEXT:      "tokLen": 263978// CHECK-NEXT:     }3979// CHECK-NEXT:    },3980// CHECK-NEXT:    "isImplicit": true,3981// CHECK-NEXT:    "name": "HasUserDeclaredConstructor",3982// CHECK-NEXT:    "tagUsed": "struct"3983// CHECK-NEXT:   },3984// CHECK-NEXT:   {3985// CHECK-NEXT:    "id": "0x{{.*}}",3986// CHECK-NEXT:    "kind": "CXXConstructorDecl",3987// CHECK-NEXT:    "loc": {3988// CHECK-NEXT:     "offset": 1218,3989// CHECK-NEXT:     "line": 88,3990// CHECK-NEXT:     "col": 3,3991// CHECK-NEXT:     "tokLen": 263992// CHECK-NEXT:    },3993// CHECK-NEXT:    "range": {3994// CHECK-NEXT:     "begin": {3995// CHECK-NEXT:      "offset": 1218,3996// CHECK-NEXT:      "col": 3,3997// CHECK-NEXT:      "tokLen": 263998// CHECK-NEXT:     },3999// CHECK-NEXT:     "end": {4000// CHECK-NEXT:      "offset": 1248,4001// CHECK-NEXT:      "col": 33,4002// CHECK-NEXT:      "tokLen": 14003// CHECK-NEXT:     }4004// CHECK-NEXT:    },4005// CHECK-NEXT:    "name": "HasUserDeclaredConstructor",4006// CHECK-NEXT:    "mangledName": "_ZN26HasUserDeclaredConstructorC1Ev",4007// CHECK-NEXT:    "type": {4008// CHECK-NEXT:     "qualType": "void ()"4009// CHECK-NEXT:    },4010// CHECK-NEXT:    "inner": [4011// CHECK-NEXT:     {4012// CHECK-NEXT:      "id": "0x{{.*}}",4013// CHECK-NEXT:      "kind": "CompoundStmt",4014// CHECK-NEXT:      "range": {4015// CHECK-NEXT:       "begin": {4016// CHECK-NEXT:        "offset": 1247,4017// CHECK-NEXT:        "col": 32,4018// CHECK-NEXT:        "tokLen": 14019// CHECK-NEXT:       },4020// CHECK-NEXT:       "end": {4021// CHECK-NEXT:        "offset": 1248,4022// CHECK-NEXT:        "col": 33,4023// CHECK-NEXT:        "tokLen": 14024// CHECK-NEXT:       }4025// CHECK-NEXT:      }4026// CHECK-NEXT:     }4027// CHECK-NEXT:    ]4028// CHECK-NEXT:   }4029// CHECK-NEXT:  ]4030// CHECK-NEXT: }4031 4032 4033// CHECK-NOT: {{^}}Dumping4034// CHECK:  "kind": "CXXRecordDecl",4035// CHECK-NEXT:  "loc": {4036// CHECK-NEXT:   "offset": 1261,4037// CHECK-NEXT:   "line": 91,4038// CHECK-NEXT:   "col": 8,4039// CHECK-NEXT:   "tokLen": 284040// CHECK-NEXT:  },4041// CHECK-NEXT:  "range": {4042// CHECK-NEXT:   "begin": {4043// CHECK-NEXT:    "offset": 1254,4044// CHECK-NEXT:    "col": 1,4045// CHECK-NEXT:    "tokLen": 64046// CHECK-NEXT:   },4047// CHECK-NEXT:   "end": {4048// CHECK-NEXT:    "offset": 1292,4049// CHECK-NEXT:    "line": 92,4050// CHECK-NEXT:    "col": 1,4051// CHECK-NEXT:    "tokLen": 14052// CHECK-NEXT:   }4053// CHECK-NEXT:  },4054// CHECK-NEXT:  "name": "HasNoUserDeclaredConstructor",4055// CHECK-NEXT:  "tagUsed": "struct",4056// CHECK-NEXT:  "completeDefinition": true,4057// CHECK-NEXT:  "definitionData": {4058// CHECK-NEXT:   "canConstDefaultInit": true,4059// CHECK-NEXT:   "canPassInRegisters": true,4060// CHECK-NEXT:   "copyAssign": {4061// CHECK-NEXT:    "hasConstParam": true,4062// CHECK-NEXT:    "implicitHasConstParam": true,4063// CHECK-NEXT:    "needsImplicit": true,4064// CHECK-NEXT:    "simple": true,4065// CHECK-NEXT:    "trivial": true4066// CHECK-NEXT:   },4067// CHECK-NEXT:   "copyCtor": {4068// CHECK-NEXT:    "hasConstParam": true,4069// CHECK-NEXT:    "implicitHasConstParam": true,4070// CHECK-NEXT:    "needsImplicit": true,4071// CHECK-NEXT:    "simple": true,4072// CHECK-NEXT:    "trivial": true4073// CHECK-NEXT:   },4074// CHECK-NEXT:   "defaultCtor": {4075// CHECK-NEXT:    "defaultedIsConstexpr": true,4076// CHECK-NEXT:    "exists": true,4077// CHECK-NEXT:    "isConstexpr": true,4078// CHECK-NEXT:    "needsImplicit": true,4079// CHECK-NEXT:    "trivial": true4080// CHECK-NEXT:   },4081// CHECK-NEXT:   "dtor": {4082// CHECK-NEXT:    "irrelevant": true,4083// CHECK-NEXT:    "needsImplicit": true,4084// CHECK-NEXT:    "simple": true,4085// CHECK-NEXT:    "trivial": true4086// CHECK-NEXT:   },4087// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,4088// CHECK-NEXT:   "isAggregate": true,4089// CHECK-NEXT:   "isEmpty": true,4090// CHECK-NEXT:   "isLiteral": true,4091// CHECK-NEXT:   "isPOD": true,4092// CHECK-NEXT:   "isStandardLayout": true,4093// CHECK-NEXT:   "isTrivial": true,4094// CHECK-NEXT:   "isTriviallyCopyable": true,4095// CHECK-NEXT:   "moveAssign": {4096// CHECK-NEXT:    "exists": true,4097// CHECK-NEXT:    "needsImplicit": true,4098// CHECK-NEXT:    "simple": true,4099// CHECK-NEXT:    "trivial": true4100// CHECK-NEXT:   },4101// CHECK-NEXT:   "moveCtor": {4102// CHECK-NEXT:    "exists": true,4103// CHECK-NEXT:    "needsImplicit": true,4104// CHECK-NEXT:    "simple": true,4105// CHECK-NEXT:    "trivial": true4106// CHECK-NEXT:   }4107// CHECK-NEXT:  },4108// CHECK-NEXT:  "inner": [4109// CHECK-NEXT:   {4110// CHECK-NEXT:    "id": "0x{{.*}}",4111// CHECK-NEXT:    "kind": "CXXRecordDecl",4112// CHECK-NEXT:    "loc": {4113// CHECK-NEXT:     "offset": 1261,4114// CHECK-NEXT:     "line": 91,4115// CHECK-NEXT:     "col": 8,4116// CHECK-NEXT:     "tokLen": 284117// CHECK-NEXT:    },4118// CHECK-NEXT:    "range": {4119// CHECK-NEXT:     "begin": {4120// CHECK-NEXT:      "offset": 1254,4121// CHECK-NEXT:      "col": 1,4122// CHECK-NEXT:      "tokLen": 64123// CHECK-NEXT:     },4124// CHECK-NEXT:     "end": {4125// CHECK-NEXT:      "offset": 1261,4126// CHECK-NEXT:      "col": 8,4127// CHECK-NEXT:      "tokLen": 284128// CHECK-NEXT:     }4129// CHECK-NEXT:    },4130// CHECK-NEXT:    "isImplicit": true,4131// CHECK-NEXT:    "name": "HasNoUserDeclaredConstructor",4132// CHECK-NEXT:    "tagUsed": "struct"4133// CHECK-NEXT:   }4134// CHECK-NEXT:  ]4135// CHECK-NEXT: }4136 4137 4138// CHECK-NOT: {{^}}Dumping4139// CHECK:  "kind": "CXXRecordDecl",4140// CHECK-NEXT:  "loc": {4141// CHECK-NEXT:   "offset": 1303,4142// CHECK-NEXT:   "line": 94,4143// CHECK-NEXT:   "col": 8,4144// CHECK-NEXT:   "tokLen": 344145// CHECK-NEXT:  },4146// CHECK-NEXT:  "range": {4147// CHECK-NEXT:   "begin": {4148// CHECK-NEXT:    "offset": 1296,4149// CHECK-NEXT:    "col": 1,4150// CHECK-NEXT:    "tokLen": 64151// CHECK-NEXT:   },4152// CHECK-NEXT:   "end": {4153// CHECK-NEXT:    "offset": 1392,4154// CHECK-NEXT:    "line": 96,4155// CHECK-NEXT:    "col": 1,4156// CHECK-NEXT:    "tokLen": 14157// CHECK-NEXT:   }4158// CHECK-NEXT:  },4159// CHECK-NEXT:  "name": "HasConstexprNonCopyMoveConstructor",4160// CHECK-NEXT:  "tagUsed": "struct",4161// CHECK-NEXT:  "completeDefinition": true,4162// CHECK-NEXT:  "definitionData": {4163// CHECK-NEXT:   "canConstDefaultInit": true,4164// CHECK-NEXT:   "canPassInRegisters": true,4165// CHECK-NEXT:   "copyAssign": {4166// CHECK-NEXT:    "hasConstParam": true,4167// CHECK-NEXT:    "implicitHasConstParam": true,4168// CHECK-NEXT:    "needsImplicit": true,4169// CHECK-NEXT:    "simple": true,4170// CHECK-NEXT:    "trivial": true4171// CHECK-NEXT:   },4172// CHECK-NEXT:   "copyCtor": {4173// CHECK-NEXT:    "hasConstParam": true,4174// CHECK-NEXT:    "implicitHasConstParam": true,4175// CHECK-NEXT:    "needsImplicit": true,4176// CHECK-NEXT:    "simple": true,4177// CHECK-NEXT:    "trivial": true4178// CHECK-NEXT:   },4179// CHECK-NEXT:   "defaultCtor": {4180// CHECK-NEXT:    "defaultedIsConstexpr": true,4181// CHECK-NEXT:    "exists": true,4182// CHECK-NEXT:    "isConstexpr": true,4183// CHECK-NEXT:    "nonTrivial": true,4184// CHECK-NEXT:    "userProvided": true4185// CHECK-NEXT:   },4186// CHECK-NEXT:   "dtor": {4187// CHECK-NEXT:    "irrelevant": true,4188// CHECK-NEXT:    "needsImplicit": true,4189// CHECK-NEXT:    "simple": true,4190// CHECK-NEXT:    "trivial": true4191// CHECK-NEXT:   },4192// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,4193// CHECK-NEXT:   "hasUserDeclaredConstructor": true,4194// CHECK-NEXT:   "isEmpty": true,4195// CHECK-NEXT:   "isLiteral": true,4196// CHECK-NEXT:   "isStandardLayout": true,4197// CHECK-NEXT:   "isTriviallyCopyable": true,4198// CHECK-NEXT:   "moveAssign": {4199// CHECK-NEXT:    "exists": true,4200// CHECK-NEXT:    "needsImplicit": true,4201// CHECK-NEXT:    "simple": true,4202// CHECK-NEXT:    "trivial": true4203// CHECK-NEXT:   },4204// CHECK-NEXT:   "moveCtor": {4205// CHECK-NEXT:    "exists": true,4206// CHECK-NEXT:    "needsImplicit": true,4207// CHECK-NEXT:    "simple": true,4208// CHECK-NEXT:    "trivial": true4209// CHECK-NEXT:   }4210// CHECK-NEXT:  },4211// CHECK-NEXT:  "inner": [4212// CHECK-NEXT:   {4213// CHECK-NEXT:    "id": "0x{{.*}}",4214// CHECK-NEXT:    "kind": "CXXRecordDecl",4215// CHECK-NEXT:    "loc": {4216// CHECK-NEXT:     "offset": 1303,4217// CHECK-NEXT:     "line": 94,4218// CHECK-NEXT:     "col": 8,4219// CHECK-NEXT:     "tokLen": 344220// CHECK-NEXT:    },4221// CHECK-NEXT:    "range": {4222// CHECK-NEXT:     "begin": {4223// CHECK-NEXT:      "offset": 1296,4224// CHECK-NEXT:      "col": 1,4225// CHECK-NEXT:      "tokLen": 64226// CHECK-NEXT:     },4227// CHECK-NEXT:     "end": {4228// CHECK-NEXT:      "offset": 1303,4229// CHECK-NEXT:      "col": 8,4230// CHECK-NEXT:      "tokLen": 344231// CHECK-NEXT:     }4232// CHECK-NEXT:    },4233// CHECK-NEXT:    "isImplicit": true,4234// CHECK-NEXT:    "name": "HasConstexprNonCopyMoveConstructor",4235// CHECK-NEXT:    "tagUsed": "struct"4236// CHECK-NEXT:   },4237// CHECK-NEXT:   {4238// CHECK-NEXT:    "id": "0x{{.*}}",4239// CHECK-NEXT:    "kind": "CXXConstructorDecl",4240// CHECK-NEXT:    "loc": {4241// CHECK-NEXT:     "offset": 1352,4242// CHECK-NEXT:     "line": 95,4243// CHECK-NEXT:     "col": 13,4244// CHECK-NEXT:     "tokLen": 344245// CHECK-NEXT:    },4246// CHECK-NEXT:    "range": {4247// CHECK-NEXT:     "begin": {4248// CHECK-NEXT:      "offset": 1342,4249// CHECK-NEXT:      "col": 3,4250// CHECK-NEXT:      "tokLen": 94251// CHECK-NEXT:     },4252// CHECK-NEXT:     "end": {4253// CHECK-NEXT:      "offset": 1390,4254// CHECK-NEXT:      "col": 51,4255// CHECK-NEXT:      "tokLen": 14256// CHECK-NEXT:     }4257// CHECK-NEXT:    },4258// CHECK-NEXT:    "name": "HasConstexprNonCopyMoveConstructor",4259// CHECK-NEXT:    "mangledName": "_ZN34HasConstexprNonCopyMoveConstructorC1Ev",4260// CHECK-NEXT:    "type": {4261// CHECK-NEXT:     "qualType": "void ()"4262// CHECK-NEXT:    },4263// CHECK-NEXT:    "constexpr": true,4264// CHECK-NEXT:    "inner": [4265// CHECK-NEXT:     {4266// CHECK-NEXT:      "id": "0x{{.*}}",4267// CHECK-NEXT:      "kind": "CompoundStmt",4268// CHECK-NEXT:      "range": {4269// CHECK-NEXT:       "begin": {4270// CHECK-NEXT:        "offset": 1389,4271// CHECK-NEXT:        "col": 50,4272// CHECK-NEXT:        "tokLen": 14273// CHECK-NEXT:       },4274// CHECK-NEXT:       "end": {4275// CHECK-NEXT:        "offset": 1390,4276// CHECK-NEXT:        "col": 51,4277// CHECK-NEXT:        "tokLen": 14278// CHECK-NEXT:       }4279// CHECK-NEXT:      }4280// CHECK-NEXT:     }4281// CHECK-NEXT:    ]4282// CHECK-NEXT:   }4283// CHECK-NEXT:  ]4284// CHECK-NEXT: }4285 4286 4287// CHECK-NOT: {{^}}Dumping4288// CHECK:  "kind": "CXXRecordDecl",4289// CHECK-NEXT:  "loc": {4290// CHECK-NEXT:   "offset": 1403,4291// CHECK-NEXT:   "line": 98,4292// CHECK-NEXT:   "col": 8,4293// CHECK-NEXT:   "tokLen": 364294// CHECK-NEXT:  },4295// CHECK-NEXT:  "range": {4296// CHECK-NEXT:   "begin": {4297// CHECK-NEXT:    "offset": 1396,4298// CHECK-NEXT:    "col": 1,4299// CHECK-NEXT:    "tokLen": 64300// CHECK-NEXT:   },4301// CHECK-NEXT:   "end": {4302// CHECK-NEXT:    "offset": 1486,4303// CHECK-NEXT:    "line": 100,4304// CHECK-NEXT:    "col": 1,4305// CHECK-NEXT:    "tokLen": 14306// CHECK-NEXT:   }4307// CHECK-NEXT:  },4308// CHECK-NEXT:  "name": "HasNoConstexprNonCopyMoveConstructor",4309// CHECK-NEXT:  "tagUsed": "struct",4310// CHECK-NEXT:  "completeDefinition": true,4311// CHECK-NEXT:  "definitionData": {4312// CHECK-NEXT:   "canConstDefaultInit": true,4313// CHECK-NEXT:   "canPassInRegisters": true,4314// CHECK-NEXT:   "copyAssign": {4315// CHECK-NEXT:    "hasConstParam": true,4316// CHECK-NEXT:    "implicitHasConstParam": true,4317// CHECK-NEXT:    "needsImplicit": true,4318// CHECK-NEXT:    "simple": true,4319// CHECK-NEXT:    "trivial": true4320// CHECK-NEXT:   },4321// CHECK-NEXT:   "copyCtor": {4322// CHECK-NEXT:    "hasConstParam": true,4323// CHECK-NEXT:    "implicitHasConstParam": true,4324// CHECK-NEXT:    "needsImplicit": true,4325// CHECK-NEXT:    "simple": true,4326// CHECK-NEXT:    "trivial": true4327// CHECK-NEXT:   },4328// CHECK-NEXT:   "defaultCtor": {4329// CHECK-NEXT:    "defaultedIsConstexpr": true,4330// CHECK-NEXT:    "exists": true,4331// CHECK-NEXT:    "nonTrivial": true,4332// CHECK-NEXT:    "userProvided": true4333// CHECK-NEXT:   },4334// CHECK-NEXT:   "dtor": {4335// CHECK-NEXT:    "irrelevant": true,4336// CHECK-NEXT:    "needsImplicit": true,4337// CHECK-NEXT:    "simple": true,4338// CHECK-NEXT:    "trivial": true4339// CHECK-NEXT:   },4340// CHECK-NEXT:   "hasUserDeclaredConstructor": true,4341// CHECK-NEXT:   "isEmpty": true,4342// CHECK-NEXT:   "isStandardLayout": true,4343// CHECK-NEXT:   "isTriviallyCopyable": true,4344// CHECK-NEXT:   "moveAssign": {4345// CHECK-NEXT:    "exists": true,4346// CHECK-NEXT:    "needsImplicit": true,4347// CHECK-NEXT:    "simple": true,4348// CHECK-NEXT:    "trivial": true4349// CHECK-NEXT:   },4350// CHECK-NEXT:   "moveCtor": {4351// CHECK-NEXT:    "exists": true,4352// CHECK-NEXT:    "needsImplicit": true,4353// CHECK-NEXT:    "simple": true,4354// CHECK-NEXT:    "trivial": true4355// CHECK-NEXT:   }4356// CHECK-NEXT:  },4357// CHECK-NEXT:  "inner": [4358// CHECK-NEXT:   {4359// CHECK-NEXT:    "id": "0x{{.*}}",4360// CHECK-NEXT:    "kind": "CXXRecordDecl",4361// CHECK-NEXT:    "loc": {4362// CHECK-NEXT:     "offset": 1403,4363// CHECK-NEXT:     "line": 98,4364// CHECK-NEXT:     "col": 8,4365// CHECK-NEXT:     "tokLen": 364366// CHECK-NEXT:    },4367// CHECK-NEXT:    "range": {4368// CHECK-NEXT:     "begin": {4369// CHECK-NEXT:      "offset": 1396,4370// CHECK-NEXT:      "col": 1,4371// CHECK-NEXT:      "tokLen": 64372// CHECK-NEXT:     },4373// CHECK-NEXT:     "end": {4374// CHECK-NEXT:      "offset": 1403,4375// CHECK-NEXT:      "col": 8,4376// CHECK-NEXT:      "tokLen": 364377// CHECK-NEXT:     }4378// CHECK-NEXT:    },4379// CHECK-NEXT:    "isImplicit": true,4380// CHECK-NEXT:    "name": "HasNoConstexprNonCopyMoveConstructor",4381// CHECK-NEXT:    "tagUsed": "struct"4382// CHECK-NEXT:   },4383// CHECK-NEXT:   {4384// CHECK-NEXT:    "id": "0x{{.*}}",4385// CHECK-NEXT:    "kind": "CXXConstructorDecl",4386// CHECK-NEXT:    "loc": {4387// CHECK-NEXT:     "offset": 1444,4388// CHECK-NEXT:     "line": 99,4389// CHECK-NEXT:     "col": 3,4390// CHECK-NEXT:     "tokLen": 364391// CHECK-NEXT:    },4392// CHECK-NEXT:    "range": {4393// CHECK-NEXT:     "begin": {4394// CHECK-NEXT:      "offset": 1444,4395// CHECK-NEXT:      "col": 3,4396// CHECK-NEXT:      "tokLen": 364397// CHECK-NEXT:     },4398// CHECK-NEXT:     "end": {4399// CHECK-NEXT:      "offset": 1484,4400// CHECK-NEXT:      "col": 43,4401// CHECK-NEXT:      "tokLen": 14402// CHECK-NEXT:     }4403// CHECK-NEXT:    },4404// CHECK-NEXT:    "name": "HasNoConstexprNonCopyMoveConstructor",4405// CHECK-NEXT:    "mangledName": "_ZN36HasNoConstexprNonCopyMoveConstructorC1Ev",4406// CHECK-NEXT:    "type": {4407// CHECK-NEXT:     "qualType": "void ()"4408// CHECK-NEXT:    },4409// CHECK-NEXT:    "inner": [4410// CHECK-NEXT:     {4411// CHECK-NEXT:      "id": "0x{{.*}}",4412// CHECK-NEXT:      "kind": "CompoundStmt",4413// CHECK-NEXT:      "range": {4414// CHECK-NEXT:       "begin": {4415// CHECK-NEXT:        "offset": 1483,4416// CHECK-NEXT:        "col": 42,4417// CHECK-NEXT:        "tokLen": 14418// CHECK-NEXT:       },4419// CHECK-NEXT:       "end": {4420// CHECK-NEXT:        "offset": 1484,4421// CHECK-NEXT:        "col": 43,4422// CHECK-NEXT:        "tokLen": 14423// CHECK-NEXT:       }4424// CHECK-NEXT:      }4425// CHECK-NEXT:     }4426// CHECK-NEXT:    ]4427// CHECK-NEXT:   }4428// CHECK-NEXT:  ]4429// CHECK-NEXT: }4430 4431 4432// CHECK-NOT: {{^}}Dumping4433// CHECK:  "kind": "CXXRecordDecl",4434// CHECK-NEXT:  "loc": {4435// CHECK-NEXT:   "offset": 1497,4436// CHECK-NEXT:   "line": 102,4437// CHECK-NEXT:   "col": 8,4438// CHECK-NEXT:   "tokLen": 164439// CHECK-NEXT:  },4440// CHECK-NEXT:  "range": {4441// CHECK-NEXT:   "begin": {4442// CHECK-NEXT:    "offset": 1490,4443// CHECK-NEXT:    "col": 1,4444// CHECK-NEXT:    "tokLen": 64445// CHECK-NEXT:   },4446// CHECK-NEXT:   "end": {4447// CHECK-NEXT:    "offset": 1533,4448// CHECK-NEXT:    "line": 104,4449// CHECK-NEXT:    "col": 1,4450// CHECK-NEXT:    "tokLen": 14451// CHECK-NEXT:   }4452// CHECK-NEXT:  },4453// CHECK-NEXT:  "name": "HasMutableFields",4454// CHECK-NEXT:  "tagUsed": "struct",4455// CHECK-NEXT:  "completeDefinition": true,4456// CHECK-NEXT:  "definitionData": {4457// CHECK-NEXT:   "canConstDefaultInit": true,4458// CHECK-NEXT:   "canPassInRegisters": true,4459// CHECK-NEXT:   "copyAssign": {4460// CHECK-NEXT:    "hasConstParam": true,4461// CHECK-NEXT:    "implicitHasConstParam": true,4462// CHECK-NEXT:    "needsImplicit": true,4463// CHECK-NEXT:    "simple": true,4464// CHECK-NEXT:    "trivial": true4465// CHECK-NEXT:   },4466// CHECK-NEXT:   "copyCtor": {4467// CHECK-NEXT:    "hasConstParam": true,4468// CHECK-NEXT:    "implicitHasConstParam": true,4469// CHECK-NEXT:    "needsImplicit": true,4470// CHECK-NEXT:    "simple": true,4471// CHECK-NEXT:    "trivial": true4472// CHECK-NEXT:   },4473// CHECK-NEXT:   "defaultCtor": {4474// CHECK-NEXT:    "exists": true,4475// CHECK-NEXT:    "needsImplicit": true,4476// CHECK-NEXT:    "trivial": true4477// CHECK-NEXT:   },4478// CHECK-NEXT:   "dtor": {4479// CHECK-NEXT:    "irrelevant": true,4480// CHECK-NEXT:    "needsImplicit": true,4481// CHECK-NEXT:    "simple": true,4482// CHECK-NEXT:    "trivial": true4483// CHECK-NEXT:   },4484// CHECK-NEXT:   "hasMutableFields": true,4485// CHECK-NEXT:   "isAggregate": true,4486// CHECK-NEXT:   "isLiteral": true,4487// CHECK-NEXT:   "isPOD": true,4488// CHECK-NEXT:   "isStandardLayout": true,4489// CHECK-NEXT:   "isTrivial": true,4490// CHECK-NEXT:   "isTriviallyCopyable": true,4491// CHECK-NEXT:   "moveAssign": {4492// CHECK-NEXT:    "exists": true,4493// CHECK-NEXT:    "needsImplicit": true,4494// CHECK-NEXT:    "simple": true,4495// CHECK-NEXT:    "trivial": true4496// CHECK-NEXT:   },4497// CHECK-NEXT:   "moveCtor": {4498// CHECK-NEXT:    "exists": true,4499// CHECK-NEXT:    "needsImplicit": true,4500// CHECK-NEXT:    "simple": true,4501// CHECK-NEXT:    "trivial": true4502// CHECK-NEXT:   }4503// CHECK-NEXT:  },4504// CHECK-NEXT:  "inner": [4505// CHECK-NEXT:   {4506// CHECK-NEXT:    "id": "0x{{.*}}",4507// CHECK-NEXT:    "kind": "CXXRecordDecl",4508// CHECK-NEXT:    "loc": {4509// CHECK-NEXT:     "offset": 1497,4510// CHECK-NEXT:     "line": 102,4511// CHECK-NEXT:     "col": 8,4512// CHECK-NEXT:     "tokLen": 164513// CHECK-NEXT:    },4514// CHECK-NEXT:    "range": {4515// CHECK-NEXT:     "begin": {4516// CHECK-NEXT:      "offset": 1490,4517// CHECK-NEXT:      "col": 1,4518// CHECK-NEXT:      "tokLen": 64519// CHECK-NEXT:     },4520// CHECK-NEXT:     "end": {4521// CHECK-NEXT:      "offset": 1497,4522// CHECK-NEXT:      "col": 8,4523// CHECK-NEXT:      "tokLen": 164524// CHECK-NEXT:     }4525// CHECK-NEXT:    },4526// CHECK-NEXT:    "isImplicit": true,4527// CHECK-NEXT:    "name": "HasMutableFields",4528// CHECK-NEXT:    "tagUsed": "struct"4529// CHECK-NEXT:   },4530// CHECK-NEXT:   {4531// CHECK-NEXT:    "id": "0x{{.*}}",4532// CHECK-NEXT:    "kind": "FieldDecl",4533// CHECK-NEXT:    "loc": {4534// CHECK-NEXT:     "offset": 1530,4535// CHECK-NEXT:     "line": 103,4536// CHECK-NEXT:     "col": 15,4537// CHECK-NEXT:     "tokLen": 14538// CHECK-NEXT:    },4539// CHECK-NEXT:    "range": {4540// CHECK-NEXT:     "begin": {4541// CHECK-NEXT:      "offset": 1518,4542// CHECK-NEXT:      "col": 3,4543// CHECK-NEXT:      "tokLen": 74544// CHECK-NEXT:     },4545// CHECK-NEXT:     "end": {4546// CHECK-NEXT:      "offset": 1530,4547// CHECK-NEXT:      "col": 15,4548// CHECK-NEXT:      "tokLen": 14549// CHECK-NEXT:     }4550// CHECK-NEXT:    },4551// CHECK-NEXT:    "name": "i",4552// CHECK-NEXT:    "type": {4553// CHECK-NEXT:     "qualType": "int"4554// CHECK-NEXT:    },4555// CHECK-NEXT:    "mutable": true4556// CHECK-NEXT:   }4557// CHECK-NEXT:  ]4558// CHECK-NEXT: }4559 4560 4561// CHECK-NOT: {{^}}Dumping4562// CHECK:  "kind": "CXXRecordDecl",4563// CHECK-NEXT:  "loc": {4564// CHECK-NEXT:   "offset": 1544,4565// CHECK-NEXT:   "line": 106,4566// CHECK-NEXT:   "col": 8,4567// CHECK-NEXT:   "tokLen": 184568// CHECK-NEXT:  },4569// CHECK-NEXT:  "range": {4570// CHECK-NEXT:   "begin": {4571// CHECK-NEXT:    "offset": 1537,4572// CHECK-NEXT:    "col": 1,4573// CHECK-NEXT:    "tokLen": 64574// CHECK-NEXT:   },4575// CHECK-NEXT:   "end": {4576// CHECK-NEXT:    "offset": 1574,4577// CHECK-NEXT:    "line": 108,4578// CHECK-NEXT:    "col": 1,4579// CHECK-NEXT:    "tokLen": 14580// CHECK-NEXT:   }4581// CHECK-NEXT:  },4582// CHECK-NEXT:  "name": "HasNoMutableFields",4583// CHECK-NEXT:  "tagUsed": "struct",4584// CHECK-NEXT:  "completeDefinition": true,4585// CHECK-NEXT:  "definitionData": {4586// CHECK-NEXT:   "canPassInRegisters": true,4587// CHECK-NEXT:   "copyAssign": {4588// CHECK-NEXT:    "hasConstParam": true,4589// CHECK-NEXT:    "implicitHasConstParam": true,4590// CHECK-NEXT:    "needsImplicit": true,4591// CHECK-NEXT:    "simple": true,4592// CHECK-NEXT:    "trivial": true4593// CHECK-NEXT:   },4594// CHECK-NEXT:   "copyCtor": {4595// CHECK-NEXT:    "hasConstParam": true,4596// CHECK-NEXT:    "implicitHasConstParam": true,4597// CHECK-NEXT:    "needsImplicit": true,4598// CHECK-NEXT:    "simple": true,4599// CHECK-NEXT:    "trivial": true4600// CHECK-NEXT:   },4601// CHECK-NEXT:   "defaultCtor": {4602// CHECK-NEXT:    "exists": true,4603// CHECK-NEXT:    "needsImplicit": true,4604// CHECK-NEXT:    "trivial": true4605// CHECK-NEXT:   },4606// CHECK-NEXT:   "dtor": {4607// CHECK-NEXT:    "irrelevant": true,4608// CHECK-NEXT:    "needsImplicit": true,4609// CHECK-NEXT:    "simple": true,4610// CHECK-NEXT:    "trivial": true4611// CHECK-NEXT:   },4612// CHECK-NEXT:   "isAggregate": true,4613// CHECK-NEXT:   "isLiteral": true,4614// CHECK-NEXT:   "isPOD": true,4615// CHECK-NEXT:   "isStandardLayout": true,4616// CHECK-NEXT:   "isTrivial": true,4617// CHECK-NEXT:   "isTriviallyCopyable": true,4618// CHECK-NEXT:   "moveAssign": {4619// CHECK-NEXT:    "exists": true,4620// CHECK-NEXT:    "needsImplicit": true,4621// CHECK-NEXT:    "simple": true,4622// CHECK-NEXT:    "trivial": true4623// CHECK-NEXT:   },4624// CHECK-NEXT:   "moveCtor": {4625// CHECK-NEXT:    "exists": true,4626// CHECK-NEXT:    "needsImplicit": true,4627// CHECK-NEXT:    "simple": true,4628// CHECK-NEXT:    "trivial": true4629// CHECK-NEXT:   }4630// CHECK-NEXT:  },4631// CHECK-NEXT:  "inner": [4632// CHECK-NEXT:   {4633// CHECK-NEXT:    "id": "0x{{.*}}",4634// CHECK-NEXT:    "kind": "CXXRecordDecl",4635// CHECK-NEXT:    "loc": {4636// CHECK-NEXT:     "offset": 1544,4637// CHECK-NEXT:     "line": 106,4638// CHECK-NEXT:     "col": 8,4639// CHECK-NEXT:     "tokLen": 184640// CHECK-NEXT:    },4641// CHECK-NEXT:    "range": {4642// CHECK-NEXT:     "begin": {4643// CHECK-NEXT:      "offset": 1537,4644// CHECK-NEXT:      "col": 1,4645// CHECK-NEXT:      "tokLen": 64646// CHECK-NEXT:     },4647// CHECK-NEXT:     "end": {4648// CHECK-NEXT:      "offset": 1544,4649// CHECK-NEXT:      "col": 8,4650// CHECK-NEXT:      "tokLen": 184651// CHECK-NEXT:     }4652// CHECK-NEXT:    },4653// CHECK-NEXT:    "isImplicit": true,4654// CHECK-NEXT:    "name": "HasNoMutableFields",4655// CHECK-NEXT:    "tagUsed": "struct"4656// CHECK-NEXT:   },4657// CHECK-NEXT:   {4658// CHECK-NEXT:    "id": "0x{{.*}}",4659// CHECK-NEXT:    "kind": "FieldDecl",4660// CHECK-NEXT:    "loc": {4661// CHECK-NEXT:     "offset": 1571,4662// CHECK-NEXT:     "line": 107,4663// CHECK-NEXT:     "col": 7,4664// CHECK-NEXT:     "tokLen": 14665// CHECK-NEXT:    },4666// CHECK-NEXT:    "range": {4667// CHECK-NEXT:     "begin": {4668// CHECK-NEXT:      "offset": 1567,4669// CHECK-NEXT:      "col": 3,4670// CHECK-NEXT:      "tokLen": 34671// CHECK-NEXT:     },4672// CHECK-NEXT:     "end": {4673// CHECK-NEXT:      "offset": 1571,4674// CHECK-NEXT:      "col": 7,4675// CHECK-NEXT:      "tokLen": 14676// CHECK-NEXT:     }4677// CHECK-NEXT:    },4678// CHECK-NEXT:    "name": "i",4679// CHECK-NEXT:    "type": {4680// CHECK-NEXT:     "qualType": "int"4681// CHECK-NEXT:    }4682// CHECK-NEXT:   }4683// CHECK-NEXT:  ]4684// CHECK-NEXT: }4685 4686 4687// CHECK-NOT: {{^}}Dumping4688// CHECK:  "kind": "CXXRecordDecl",4689// CHECK-NEXT:  "loc": {4690// CHECK-NEXT:   "offset": 1585,4691// CHECK-NEXT:   "line": 110,4692// CHECK-NEXT:   "col": 8,4693// CHECK-NEXT:   "tokLen": 174694// CHECK-NEXT:  },4695// CHECK-NEXT:  "range": {4696// CHECK-NEXT:   "begin": {4697// CHECK-NEXT:    "offset": 1578,4698// CHECK-NEXT:    "col": 1,4699// CHECK-NEXT:    "tokLen": 64700// CHECK-NEXT:   },4701// CHECK-NEXT:   "end": {4702// CHECK-NEXT:    "offset": 1631,4703// CHECK-NEXT:    "line": 114,4704// CHECK-NEXT:    "col": 1,4705// CHECK-NEXT:    "tokLen": 14706// CHECK-NEXT:   }4707// CHECK-NEXT:  },4708// CHECK-NEXT:  "name": "HasVariantMembers",4709// CHECK-NEXT:  "tagUsed": "struct",4710// CHECK-NEXT:  "completeDefinition": true,4711// CHECK-NEXT:  "definitionData": {4712// CHECK-NEXT:   "canPassInRegisters": true,4713// CHECK-NEXT:   "copyAssign": {4714// CHECK-NEXT:    "hasConstParam": true,4715// CHECK-NEXT:    "implicitHasConstParam": true,4716// CHECK-NEXT:    "needsImplicit": true,4717// CHECK-NEXT:    "simple": true,4718// CHECK-NEXT:    "trivial": true4719// CHECK-NEXT:   },4720// CHECK-NEXT:   "copyCtor": {4721// CHECK-NEXT:    "hasConstParam": true,4722// CHECK-NEXT:    "implicitHasConstParam": true,4723// CHECK-NEXT:    "needsImplicit": true,4724// CHECK-NEXT:    "simple": true,4725// CHECK-NEXT:    "trivial": true4726// CHECK-NEXT:   },4727// CHECK-NEXT:   "defaultCtor": {4728// CHECK-NEXT:    "exists": true,4729// CHECK-NEXT:    "needsImplicit": true,4730// CHECK-NEXT:    "trivial": true4731// CHECK-NEXT:   },4732// CHECK-NEXT:   "dtor": {4733// CHECK-NEXT:    "irrelevant": true,4734// CHECK-NEXT:    "needsImplicit": true,4735// CHECK-NEXT:    "simple": true,4736// CHECK-NEXT:    "trivial": true4737// CHECK-NEXT:   },4738// CHECK-NEXT:   "hasVariantMembers": true,4739// CHECK-NEXT:   "isAggregate": true,4740// CHECK-NEXT:   "isLiteral": true,4741// CHECK-NEXT:   "isPOD": true,4742// CHECK-NEXT:   "isStandardLayout": true,4743// CHECK-NEXT:   "isTrivial": true,4744// CHECK-NEXT:   "isTriviallyCopyable": true,4745// CHECK-NEXT:   "moveAssign": {4746// CHECK-NEXT:    "exists": true,4747// CHECK-NEXT:    "needsImplicit": true,4748// CHECK-NEXT:    "simple": true,4749// CHECK-NEXT:    "trivial": true4750// CHECK-NEXT:   },4751// CHECK-NEXT:   "moveCtor": {4752// CHECK-NEXT:    "exists": true,4753// CHECK-NEXT:    "needsImplicit": true,4754// CHECK-NEXT:    "simple": true,4755// CHECK-NEXT:    "trivial": true4756// CHECK-NEXT:   }4757// CHECK-NEXT:  },4758// CHECK-NEXT:  "inner": [4759// CHECK-NEXT:   {4760// CHECK-NEXT:    "id": "0x{{.*}}",4761// CHECK-NEXT:    "kind": "CXXRecordDecl",4762// CHECK-NEXT:    "loc": {4763// CHECK-NEXT:     "offset": 1585,4764// CHECK-NEXT:     "line": 110,4765// CHECK-NEXT:     "col": 8,4766// CHECK-NEXT:     "tokLen": 174767// CHECK-NEXT:    },4768// CHECK-NEXT:    "range": {4769// CHECK-NEXT:     "begin": {4770// CHECK-NEXT:      "offset": 1578,4771// CHECK-NEXT:      "col": 1,4772// CHECK-NEXT:      "tokLen": 64773// CHECK-NEXT:     },4774// CHECK-NEXT:     "end": {4775// CHECK-NEXT:      "offset": 1585,4776// CHECK-NEXT:      "col": 8,4777// CHECK-NEXT:      "tokLen": 174778// CHECK-NEXT:     }4779// CHECK-NEXT:    },4780// CHECK-NEXT:    "isImplicit": true,4781// CHECK-NEXT:    "name": "HasVariantMembers",4782// CHECK-NEXT:    "tagUsed": "struct"4783// CHECK-NEXT:   },4784// CHECK-NEXT:   {4785// CHECK-NEXT:    "id": "0x{{.*}}",4786// CHECK-NEXT:    "kind": "CXXRecordDecl",4787// CHECK-NEXT:    "loc": {4788// CHECK-NEXT:     "offset": 1607,4789// CHECK-NEXT:     "line": 111,4790// CHECK-NEXT:     "col": 3,4791// CHECK-NEXT:     "tokLen": 54792// CHECK-NEXT:    },4793// CHECK-NEXT:    "range": {4794// CHECK-NEXT:     "begin": {4795// CHECK-NEXT:      "offset": 1607,4796// CHECK-NEXT:      "col": 3,4797// CHECK-NEXT:      "tokLen": 54798// CHECK-NEXT:     },4799// CHECK-NEXT:     "end": {4800// CHECK-NEXT:      "offset": 1628,4801// CHECK-NEXT:      "line": 113,4802// CHECK-NEXT:      "col": 3,4803// CHECK-NEXT:      "tokLen": 14804// CHECK-NEXT:     }4805// CHECK-NEXT:    },4806// CHECK-NEXT:    "tagUsed": "union",4807// CHECK-NEXT:    "completeDefinition": true,4808// CHECK-NEXT:    "definitionData": {4809// CHECK-NEXT:     "canPassInRegisters": true,4810// CHECK-NEXT:     "copyAssign": {4811// CHECK-NEXT:      "hasConstParam": true,4812// CHECK-NEXT:      "implicitHasConstParam": true,4813// CHECK-NEXT:      "needsImplicit": true,4814// CHECK-NEXT:      "simple": true,4815// CHECK-NEXT:      "trivial": true4816// CHECK-NEXT:     },4817// CHECK-NEXT:     "copyCtor": {4818// CHECK-NEXT:      "hasConstParam": true,4819// CHECK-NEXT:      "implicitHasConstParam": true,4820// CHECK-NEXT:      "needsImplicit": true,4821// CHECK-NEXT:      "simple": true,4822// CHECK-NEXT:      "trivial": true4823// CHECK-NEXT:     },4824// CHECK-NEXT:     "defaultCtor": {4825// CHECK-NEXT:      "exists": true,4826// CHECK-NEXT:      "needsImplicit": true,4827// CHECK-NEXT:      "trivial": true4828// CHECK-NEXT:     },4829// CHECK-NEXT:     "dtor": {4830// CHECK-NEXT:      "irrelevant": true,4831// CHECK-NEXT:      "needsImplicit": true,4832// CHECK-NEXT:      "simple": true,4833// CHECK-NEXT:      "trivial": true4834// CHECK-NEXT:     },4835// CHECK-NEXT:     "hasVariantMembers": true,4836// CHECK-NEXT:     "isAggregate": true,4837// CHECK-NEXT:     "isLiteral": true,4838// CHECK-NEXT:     "isPOD": true,4839// CHECK-NEXT:     "isStandardLayout": true,4840// CHECK-NEXT:     "isTrivial": true,4841// CHECK-NEXT:     "isTriviallyCopyable": true,4842// CHECK-NEXT:     "moveAssign": {4843// CHECK-NEXT:      "exists": true,4844// CHECK-NEXT:      "needsImplicit": true,4845// CHECK-NEXT:      "simple": true,4846// CHECK-NEXT:      "trivial": true4847// CHECK-NEXT:     },4848// CHECK-NEXT:     "moveCtor": {4849// CHECK-NEXT:      "exists": true,4850// CHECK-NEXT:      "needsImplicit": true,4851// CHECK-NEXT:      "simple": true,4852// CHECK-NEXT:      "trivial": true4853// CHECK-NEXT:     }4854// CHECK-NEXT:    },4855// CHECK-NEXT:    "inner": [4856// CHECK-NEXT:     {4857// CHECK-NEXT:      "id": "0x{{.*}}",4858// CHECK-NEXT:      "kind": "FieldDecl",4859// CHECK-NEXT:      "loc": {4860// CHECK-NEXT:       "offset": 1623,4861// CHECK-NEXT:       "line": 112,4862// CHECK-NEXT:       "col": 9,4863// CHECK-NEXT:       "tokLen": 14864// CHECK-NEXT:      },4865// CHECK-NEXT:      "range": {4866// CHECK-NEXT:       "begin": {4867// CHECK-NEXT:        "offset": 1619,4868// CHECK-NEXT:        "col": 5,4869// CHECK-NEXT:        "tokLen": 34870// CHECK-NEXT:       },4871// CHECK-NEXT:       "end": {4872// CHECK-NEXT:        "offset": 1623,4873// CHECK-NEXT:        "col": 9,4874// CHECK-NEXT:        "tokLen": 14875// CHECK-NEXT:       }4876// CHECK-NEXT:      },4877// CHECK-NEXT:      "name": "i",4878// CHECK-NEXT:      "type": {4879// CHECK-NEXT:       "qualType": "int"4880// CHECK-NEXT:      }4881// CHECK-NEXT:     }4882// CHECK-NEXT:    ]4883// CHECK-NEXT:   },4884// CHECK-NEXT:   {4885// CHECK-NEXT:    "id": "0x{{.*}}",4886// CHECK-NEXT:    "kind": "FieldDecl",4887// CHECK-NEXT:    "loc": {4888// CHECK-NEXT:     "offset": 1607,4889// CHECK-NEXT:     "line": 111,4890// CHECK-NEXT:     "col": 3,4891// CHECK-NEXT:     "tokLen": 54892// CHECK-NEXT:    },4893// CHECK-NEXT:    "range": {4894// CHECK-NEXT:     "begin": {4895// CHECK-NEXT:      "offset": 1607,4896// CHECK-NEXT:      "col": 3,4897// CHECK-NEXT:      "tokLen": 54898// CHECK-NEXT:     },4899// CHECK-NEXT:     "end": {4900// CHECK-NEXT:      "offset": 1607,4901// CHECK-NEXT:      "col": 3,4902// CHECK-NEXT:      "tokLen": 54903// CHECK-NEXT:     }4904// CHECK-NEXT:    },4905// CHECK-NEXT:    "isImplicit": true,4906// CHECK-NEXT:    "type": {4907// CHECK-NEXT:     "qualType": "HasVariantMembers::(anonymous union at {{.*}}:111:3)"4908// CHECK-NEXT:    }4909// CHECK-NEXT:   },4910// CHECK-NEXT:   {4911// CHECK-NEXT:    "id": "0x{{.*}}",4912// CHECK-NEXT:    "kind": "IndirectFieldDecl",4913// CHECK-NEXT:    "loc": {4914// CHECK-NEXT:     "offset": 1623,4915// CHECK-NEXT:     "line": 112,4916// CHECK-NEXT:     "col": 9,4917// CHECK-NEXT:     "tokLen": 14918// CHECK-NEXT:    },4919// CHECK-NEXT:    "range": {4920// CHECK-NEXT:     "begin": {4921// CHECK-NEXT:      "offset": 1623,4922// CHECK-NEXT:      "col": 9,4923// CHECK-NEXT:      "tokLen": 14924// CHECK-NEXT:     },4925// CHECK-NEXT:     "end": {4926// CHECK-NEXT:      "offset": 1623,4927// CHECK-NEXT:      "col": 9,4928// CHECK-NEXT:      "tokLen": 14929// CHECK-NEXT:     }4930// CHECK-NEXT:    },4931// CHECK-NEXT:    "isImplicit": true,4932// CHECK-NEXT:    "name": "i"4933// CHECK-NEXT:   }4934// CHECK-NEXT:  ]4935// CHECK-NEXT: }4936 4937 4938// CHECK-NOT: {{^}}Dumping4939// CHECK:  "kind": "CXXRecordDecl",4940// CHECK-NEXT:  "loc": {4941// CHECK-NEXT:   "offset": 1642,4942// CHECK-NEXT:   "line": 116,4943// CHECK-NEXT:   "col": 8,4944// CHECK-NEXT:   "tokLen": 194945// CHECK-NEXT:  },4946// CHECK-NEXT:  "range": {4947// CHECK-NEXT:   "begin": {4948// CHECK-NEXT:    "offset": 1635,4949// CHECK-NEXT:    "col": 1,4950// CHECK-NEXT:    "tokLen": 64951// CHECK-NEXT:   },4952// CHECK-NEXT:   "end": {4953// CHECK-NEXT:    "offset": 1664,4954// CHECK-NEXT:    "line": 117,4955// CHECK-NEXT:    "col": 1,4956// CHECK-NEXT:    "tokLen": 14957// CHECK-NEXT:   }4958// CHECK-NEXT:  },4959// CHECK-NEXT:  "name": "HasNoVariantMembers",4960// CHECK-NEXT:  "tagUsed": "struct",4961// CHECK-NEXT:  "completeDefinition": true,4962// CHECK-NEXT:  "definitionData": {4963// CHECK-NEXT:   "canConstDefaultInit": true,4964// CHECK-NEXT:   "canPassInRegisters": true,4965// CHECK-NEXT:   "copyAssign": {4966// CHECK-NEXT:    "hasConstParam": true,4967// CHECK-NEXT:    "implicitHasConstParam": true,4968// CHECK-NEXT:    "needsImplicit": true,4969// CHECK-NEXT:    "simple": true,4970// CHECK-NEXT:    "trivial": true4971// CHECK-NEXT:   },4972// CHECK-NEXT:   "copyCtor": {4973// CHECK-NEXT:    "hasConstParam": true,4974// CHECK-NEXT:    "implicitHasConstParam": true,4975// CHECK-NEXT:    "needsImplicit": true,4976// CHECK-NEXT:    "simple": true,4977// CHECK-NEXT:    "trivial": true4978// CHECK-NEXT:   },4979// CHECK-NEXT:   "defaultCtor": {4980// CHECK-NEXT:    "defaultedIsConstexpr": true,4981// CHECK-NEXT:    "exists": true,4982// CHECK-NEXT:    "isConstexpr": true,4983// CHECK-NEXT:    "needsImplicit": true,4984// CHECK-NEXT:    "trivial": true4985// CHECK-NEXT:   },4986// CHECK-NEXT:   "dtor": {4987// CHECK-NEXT:    "irrelevant": true,4988// CHECK-NEXT:    "needsImplicit": true,4989// CHECK-NEXT:    "simple": true,4990// CHECK-NEXT:    "trivial": true4991// CHECK-NEXT:   },4992// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,4993// CHECK-NEXT:   "isAggregate": true,4994// CHECK-NEXT:   "isEmpty": true,4995// CHECK-NEXT:   "isLiteral": true,4996// CHECK-NEXT:   "isPOD": true,4997// CHECK-NEXT:   "isStandardLayout": true,4998// CHECK-NEXT:   "isTrivial": true,4999// CHECK-NEXT:   "isTriviallyCopyable": true,5000// CHECK-NEXT:   "moveAssign": {5001// CHECK-NEXT:    "exists": true,5002// CHECK-NEXT:    "needsImplicit": true,5003// CHECK-NEXT:    "simple": true,5004// CHECK-NEXT:    "trivial": true5005// CHECK-NEXT:   },5006// CHECK-NEXT:   "moveCtor": {5007// CHECK-NEXT:    "exists": true,5008// CHECK-NEXT:    "needsImplicit": true,5009// CHECK-NEXT:    "simple": true,5010// CHECK-NEXT:    "trivial": true5011// CHECK-NEXT:   }5012// CHECK-NEXT:  },5013// CHECK-NEXT:  "inner": [5014// CHECK-NEXT:   {5015// CHECK-NEXT:    "id": "0x{{.*}}",5016// CHECK-NEXT:    "kind": "CXXRecordDecl",5017// CHECK-NEXT:    "loc": {5018// CHECK-NEXT:     "offset": 1642,5019// CHECK-NEXT:     "line": 116,5020// CHECK-NEXT:     "col": 8,5021// CHECK-NEXT:     "tokLen": 195022// CHECK-NEXT:    },5023// CHECK-NEXT:    "range": {5024// CHECK-NEXT:     "begin": {5025// CHECK-NEXT:      "offset": 1635,5026// CHECK-NEXT:      "col": 1,5027// CHECK-NEXT:      "tokLen": 65028// CHECK-NEXT:     },5029// CHECK-NEXT:     "end": {5030// CHECK-NEXT:      "offset": 1642,5031// CHECK-NEXT:      "col": 8,5032// CHECK-NEXT:      "tokLen": 195033// CHECK-NEXT:     }5034// CHECK-NEXT:    },5035// CHECK-NEXT:    "isImplicit": true,5036// CHECK-NEXT:    "name": "HasNoVariantMembers",5037// CHECK-NEXT:    "tagUsed": "struct"5038// CHECK-NEXT:   }5039// CHECK-NEXT:  ]5040// CHECK-NEXT: }5041 5042 5043// CHECK-NOT: {{^}}Dumping5044// CHECK:  "kind": "CXXRecordDecl",5045// CHECK-NEXT:  "loc": {5046// CHECK-NEXT:   "offset": 1675,5047// CHECK-NEXT:   "line": 119,5048// CHECK-NEXT:   "col": 8,5049// CHECK-NEXT:   "tokLen": 225050// CHECK-NEXT:  },5051// CHECK-NEXT:  "range": {5052// CHECK-NEXT:   "begin": {5053// CHECK-NEXT:    "offset": 1668,5054// CHECK-NEXT:    "col": 1,5055// CHECK-NEXT:    "tokLen": 65056// CHECK-NEXT:   },5057// CHECK-NEXT:   "end": {5058// CHECK-NEXT:    "offset": 1714,5059// CHECK-NEXT:    "line": 121,5060// CHECK-NEXT:    "col": 1,5061// CHECK-NEXT:    "tokLen": 15062// CHECK-NEXT:   }5063// CHECK-NEXT:  },5064// CHECK-NEXT:  "name": "AllowsConstDefaultInit",5065// CHECK-NEXT:  "tagUsed": "struct",5066// CHECK-NEXT:  "completeDefinition": true,5067// CHECK-NEXT:  "definitionData": {5068// CHECK-NEXT:   "canConstDefaultInit": true,5069// CHECK-NEXT:   "canPassInRegisters": true,5070// CHECK-NEXT:   "copyAssign": {5071// CHECK-NEXT:    "hasConstParam": true,5072// CHECK-NEXT:    "implicitHasConstParam": true,5073// CHECK-NEXT:    "needsImplicit": true,5074// CHECK-NEXT:    "simple": true,5075// CHECK-NEXT:    "trivial": true5076// CHECK-NEXT:   },5077// CHECK-NEXT:   "copyCtor": {5078// CHECK-NEXT:    "hasConstParam": true,5079// CHECK-NEXT:    "implicitHasConstParam": true,5080// CHECK-NEXT:    "needsImplicit": true,5081// CHECK-NEXT:    "simple": true,5082// CHECK-NEXT:    "trivial": true5083// CHECK-NEXT:   },5084// CHECK-NEXT:   "defaultCtor": {5085// CHECK-NEXT:    "defaultedIsConstexpr": true,5086// CHECK-NEXT:    "exists": true,5087// CHECK-NEXT:    "isConstexpr": true,5088// CHECK-NEXT:    "needsImplicit": true,5089// CHECK-NEXT:    "nonTrivial": true5090// CHECK-NEXT:   },5091// CHECK-NEXT:   "dtor": {5092// CHECK-NEXT:    "irrelevant": true,5093// CHECK-NEXT:    "needsImplicit": true,5094// CHECK-NEXT:    "simple": true,5095// CHECK-NEXT:    "trivial": true5096// CHECK-NEXT:   },5097// CHECK-NEXT:   "hasConstexprNonCopyMoveConstructor": true,5098// CHECK-NEXT:   "isAggregate": true,5099// CHECK-NEXT:   "isLiteral": true,5100// CHECK-NEXT:   "isStandardLayout": true,5101// CHECK-NEXT:   "isTriviallyCopyable": true,5102// CHECK-NEXT:   "moveAssign": {5103// CHECK-NEXT:    "exists": true,5104// CHECK-NEXT:    "needsImplicit": true,5105// CHECK-NEXT:    "simple": true,5106// CHECK-NEXT:    "trivial": true5107// CHECK-NEXT:   },5108// CHECK-NEXT:   "moveCtor": {5109// CHECK-NEXT:    "exists": true,5110// CHECK-NEXT:    "needsImplicit": true,5111// CHECK-NEXT:    "simple": true,5112// CHECK-NEXT:    "trivial": true5113// CHECK-NEXT:   }5114// CHECK-NEXT:  },5115// CHECK-NEXT:  "inner": [5116// CHECK-NEXT:   {5117// CHECK-NEXT:    "id": "0x{{.*}}",5118// CHECK-NEXT:    "kind": "CXXRecordDecl",5119// CHECK-NEXT:    "loc": {5120// CHECK-NEXT:     "offset": 1675,5121// CHECK-NEXT:     "line": 119,5122// CHECK-NEXT:     "col": 8,5123// CHECK-NEXT:     "tokLen": 225124// CHECK-NEXT:    },5125// CHECK-NEXT:    "range": {5126// CHECK-NEXT:     "begin": {5127// CHECK-NEXT:      "offset": 1668,5128// CHECK-NEXT:      "col": 1,5129// CHECK-NEXT:      "tokLen": 65130// CHECK-NEXT:     },5131// CHECK-NEXT:     "end": {5132// CHECK-NEXT:      "offset": 1675,5133// CHECK-NEXT:      "col": 8,5134// CHECK-NEXT:      "tokLen": 225135// CHECK-NEXT:     }5136// CHECK-NEXT:    },5137// CHECK-NEXT:    "isImplicit": true,5138// CHECK-NEXT:    "name": "AllowsConstDefaultInit",5139// CHECK-NEXT:    "tagUsed": "struct"5140// CHECK-NEXT:   },5141// CHECK-NEXT:   {5142// CHECK-NEXT:    "id": "0x{{.*}}",5143// CHECK-NEXT:    "kind": "FieldDecl",5144// CHECK-NEXT:    "loc": {5145// CHECK-NEXT:     "offset": 1706,5146// CHECK-NEXT:     "line": 120,5147// CHECK-NEXT:     "col": 7,5148// CHECK-NEXT:     "tokLen": 15149// CHECK-NEXT:    },5150// CHECK-NEXT:    "range": {5151// CHECK-NEXT:     "begin": {5152// CHECK-NEXT:      "offset": 1702,5153// CHECK-NEXT:      "col": 3,5154// CHECK-NEXT:      "tokLen": 35155// CHECK-NEXT:     },5156// CHECK-NEXT:     "end": {5157// CHECK-NEXT:      "offset": 1710,5158// CHECK-NEXT:      "col": 11,5159// CHECK-NEXT:      "tokLen": 25160// CHECK-NEXT:     }5161// CHECK-NEXT:    },5162// CHECK-NEXT:    "name": "i",5163// CHECK-NEXT:    "type": {5164// CHECK-NEXT:     "qualType": "int"5165// CHECK-NEXT:    },5166// CHECK-NEXT:    "hasInClassInitializer": true,5167// CHECK-NEXT:    "inner": [5168// CHECK-NEXT:     {5169// CHECK-NEXT:      "id": "0x{{.*}}",5170// CHECK-NEXT:      "kind": "IntegerLiteral",5171// CHECK-NEXT:      "range": {5172// CHECK-NEXT:       "begin": {5173// CHECK-NEXT:        "offset": 1710,5174// CHECK-NEXT:        "col": 11,5175// CHECK-NEXT:        "tokLen": 25176// CHECK-NEXT:       },5177// CHECK-NEXT:       "end": {5178// CHECK-NEXT:        "offset": 1710,5179// CHECK-NEXT:        "col": 11,5180// CHECK-NEXT:        "tokLen": 25181// CHECK-NEXT:       }5182// CHECK-NEXT:      },5183// CHECK-NEXT:      "type": {5184// CHECK-NEXT:       "qualType": "int"5185// CHECK-NEXT:      },5186// CHECK-NEXT:      "valueCategory": "prvalue",5187// CHECK-NEXT:      "value": "12"5188// CHECK-NEXT:     }5189// CHECK-NEXT:    ]5190// CHECK-NEXT:   }5191// CHECK-NEXT:  ]5192// CHECK-NEXT: }5193 5194 5195// CHECK-NOT: {{^}}Dumping5196// CHECK:  "kind": "CXXRecordDecl",5197// CHECK-NEXT:  "loc": {5198// CHECK-NEXT:   "offset": 1725,5199// CHECK-NEXT:   "line": 123,5200// CHECK-NEXT:   "col": 8,5201// CHECK-NEXT:   "tokLen": 285202// CHECK-NEXT:  },5203// CHECK-NEXT:  "range": {5204// CHECK-NEXT:   "begin": {5205// CHECK-NEXT:    "offset": 1718,5206// CHECK-NEXT:    "col": 1,5207// CHECK-NEXT:    "tokLen": 65208// CHECK-NEXT:   },5209// CHECK-NEXT:   "end": {5210// CHECK-NEXT:    "offset": 1765,5211// CHECK-NEXT:    "line": 125,5212// CHECK-NEXT:    "col": 1,5213// CHECK-NEXT:    "tokLen": 15214// CHECK-NEXT:   }5215// CHECK-NEXT:  },5216// CHECK-NEXT:  "name": "DoesNotAllowConstDefaultInit",5217// CHECK-NEXT:  "tagUsed": "struct",5218// CHECK-NEXT:  "completeDefinition": true,5219// CHECK-NEXT:  "definitionData": {5220// CHECK-NEXT:   "canPassInRegisters": true,5221// CHECK-NEXT:   "copyAssign": {5222// CHECK-NEXT:    "hasConstParam": true,5223// CHECK-NEXT:    "implicitHasConstParam": true,5224// CHECK-NEXT:    "needsImplicit": true,5225// CHECK-NEXT:    "simple": true,5226// CHECK-NEXT:    "trivial": true5227// CHECK-NEXT:   },5228// CHECK-NEXT:   "copyCtor": {5229// CHECK-NEXT:    "hasConstParam": true,5230// CHECK-NEXT:    "implicitHasConstParam": true,5231// CHECK-NEXT:    "needsImplicit": true,5232// CHECK-NEXT:    "simple": true,5233// CHECK-NEXT:    "trivial": true5234// CHECK-NEXT:   },5235// CHECK-NEXT:   "defaultCtor": {5236// CHECK-NEXT:    "exists": true,5237// CHECK-NEXT:    "needsImplicit": true,5238// CHECK-NEXT:    "trivial": true5239// CHECK-NEXT:   },5240// CHECK-NEXT:   "dtor": {5241// CHECK-NEXT:    "irrelevant": true,5242// CHECK-NEXT:    "needsImplicit": true,5243// CHECK-NEXT:    "simple": true,5244// CHECK-NEXT:    "trivial": true5245// CHECK-NEXT:   },5246// CHECK-NEXT:   "isAggregate": true,5247// CHECK-NEXT:   "isLiteral": true,5248// CHECK-NEXT:   "isPOD": true,5249// CHECK-NEXT:   "isStandardLayout": true,5250// CHECK-NEXT:   "isTrivial": true,5251// CHECK-NEXT:   "isTriviallyCopyable": true,5252// CHECK-NEXT:   "moveAssign": {5253// CHECK-NEXT:    "exists": true,5254// CHECK-NEXT:    "needsImplicit": true,5255// CHECK-NEXT:    "simple": true,5256// CHECK-NEXT:    "trivial": true5257// CHECK-NEXT:   },5258// CHECK-NEXT:   "moveCtor": {5259// CHECK-NEXT:    "exists": true,5260// CHECK-NEXT:    "needsImplicit": true,5261// CHECK-NEXT:    "simple": true,5262// CHECK-NEXT:    "trivial": true5263// CHECK-NEXT:   }5264// CHECK-NEXT:  },5265// CHECK-NEXT:  "inner": [5266// CHECK-NEXT:   {5267// CHECK-NEXT:    "id": "0x{{.*}}",5268// CHECK-NEXT:    "kind": "CXXRecordDecl",5269// CHECK-NEXT:    "loc": {5270// CHECK-NEXT:     "offset": 1725,5271// CHECK-NEXT:     "line": 123,5272// CHECK-NEXT:     "col": 8,5273// CHECK-NEXT:     "tokLen": 285274// CHECK-NEXT:    },5275// CHECK-NEXT:    "range": {5276// CHECK-NEXT:     "begin": {5277// CHECK-NEXT:      "offset": 1718,5278// CHECK-NEXT:      "col": 1,5279// CHECK-NEXT:      "tokLen": 65280// CHECK-NEXT:     },5281// CHECK-NEXT:     "end": {5282// CHECK-NEXT:      "offset": 1725,5283// CHECK-NEXT:      "col": 8,5284// CHECK-NEXT:      "tokLen": 285285// CHECK-NEXT:     }5286// CHECK-NEXT:    },5287// CHECK-NEXT:    "isImplicit": true,5288// CHECK-NEXT:    "name": "DoesNotAllowConstDefaultInit",5289// CHECK-NEXT:    "tagUsed": "struct"5290// CHECK-NEXT:   },5291// CHECK-NEXT:   {5292// CHECK-NEXT:    "id": "0x{{.*}}",5293// CHECK-NEXT:    "kind": "FieldDecl",5294// CHECK-NEXT:    "loc": {5295// CHECK-NEXT:     "offset": 1762,5296// CHECK-NEXT:     "line": 124,5297// CHECK-NEXT:     "col": 7,5298// CHECK-NEXT:     "tokLen": 15299// CHECK-NEXT:    },5300// CHECK-NEXT:    "range": {5301// CHECK-NEXT:     "begin": {5302// CHECK-NEXT:      "offset": 1758,5303// CHECK-NEXT:      "col": 3,5304// CHECK-NEXT:      "tokLen": 35305// CHECK-NEXT:     },5306// CHECK-NEXT:     "end": {5307// CHECK-NEXT:      "offset": 1762,5308// CHECK-NEXT:      "col": 7,5309// CHECK-NEXT:      "tokLen": 15310// CHECK-NEXT:     }5311// CHECK-NEXT:    },5312// CHECK-NEXT:    "name": "i",5313// CHECK-NEXT:    "type": {5314// CHECK-NEXT:     "qualType": "int"5315// CHECK-NEXT:    }5316// CHECK-NEXT:   }5317// CHECK-NEXT:  ]5318// CHECK-NEXT: }5319