/external/llvm-project/clang/lib/AST/ |
D | CXXInheritance.cpp | 68 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base) const { in isDerivedFrom() 74 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base, in isDerivedFrom() 79 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isDerivedFrom() 81 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom() 89 bool CXXRecordDecl::isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const { in isVirtuallyDerivedFrom() 99 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isVirtuallyDerivedFrom() 101 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom() 109 bool CXXRecordDecl::isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const { in isProvablyNotDerivedFrom() 110 const CXXRecordDecl *TargetDecl = Base->getCanonicalDecl(); in isProvablyNotDerivedFrom() 111 return forallBases([TargetDecl](const CXXRecordDecl *Base) { in isProvablyNotDerivedFrom() [all …]
|
D | VTableBuilder.cpp | 36 const CXXRecordDecl *DerivedClass; 41 const CXXRecordDecl *VirtualBase; 51 BaseOffset(const CXXRecordDecl *DerivedClass, in BaseOffset() 52 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset() 70 const CXXRecordDecl *VirtualBase; 82 const CXXRecordDecl *MostDerivedClass; 92 const CXXRecordDecl *LayoutClass; 113 typedef llvm::DenseMap<std::pair<const CXXRecordDecl *, unsigned>, 116 typedef llvm::DenseMap<const CXXRecordDecl *, unsigned> SubobjectCountMapTy; 126 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy; [all …]
|
D | RecordLayoutBuilder.cpp | 41 const CXXRecordDecl *Class; 73 llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsets; 76 llvm::DenseMap<const CXXRecordDecl *, CharUnits> VirtualBaseOffsets; 86 bool getExternalNVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalNVBaseOffset() 94 bool getExternalVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalVBaseOffset() 110 const CXXRecordDecl *Class; 113 typedef llvm::TinyPtrVector<const CXXRecordDecl *> ClassVectorTy; 125 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset); 130 void UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD, 131 const CXXRecordDecl *Class, CharUnits Offset, [all …]
|
D | DeclCXX.cpp | 75 CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D) in DefinitionData() 113 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const { in getBasesSlowCase() 117 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const { in getVBasesSlowCase() 121 CXXRecordDecl::CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, in CXXRecordDecl() function in CXXRecordDecl 124 CXXRecordDecl *PrevDecl) in CXXRecordDecl() 129 CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK, in Create() 132 CXXRecordDecl *PrevDecl, in Create() 134 auto *R = new (C, DC) CXXRecordDecl(CXXRecord, TK, C, DC, StartLoc, IdLoc, Id, in Create() 144 CXXRecordDecl * 145 CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC, in CreateLambda() [all …]
|
/external/clang/lib/AST/ |
D | CXXInheritance.cpp | 76 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base) const { in isDerivedFrom() 82 bool CXXRecordDecl::isDerivedFrom(const CXXRecordDecl *Base, in isDerivedFrom() 87 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isDerivedFrom() 89 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom() 98 bool CXXRecordDecl::isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const { in isVirtuallyDerivedFrom() 108 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isVirtuallyDerivedFrom() 110 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom() 119 bool CXXRecordDecl::isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const { in isProvablyNotDerivedFrom() 120 const CXXRecordDecl *TargetDecl = Base->getCanonicalDecl(); in isProvablyNotDerivedFrom() 121 return forallBases([TargetDecl](const CXXRecordDecl *Base) { in isProvablyNotDerivedFrom() [all …]
|
D | VTTBuilder.cpp | 29 const CXXRecordDecl *MostDerivedClass, in VTTBuilder() 40 const CXXRecordDecl *VTableClass) { in AddVTablePointer() 57 const CXXRecordDecl *RD = Base.getBase(); in LayoutSecondaryVTTs() 64 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVTTs() 65 cast<CXXRecordDecl>(I.getType()->getAs<RecordType>()->getDecl()); in LayoutSecondaryVTTs() 80 const CXXRecordDecl *VTableClass, in LayoutSecondaryVirtualPointers() 82 const CXXRecordDecl *RD = Base.getBase(); in LayoutSecondaryVirtualPointers() 90 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVirtualPointers() 91 cast<CXXRecordDecl>(I.getType()->getAs<RecordType>()->getDecl()); in LayoutSecondaryVirtualPointers() 151 void VTTBuilder::LayoutVirtualVTTs(const CXXRecordDecl *RD, in LayoutVirtualVTTs() [all …]
|
D | RecordLayoutBuilder.cpp | 41 const CXXRecordDecl *Class; 73 llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsets; 76 llvm::DenseMap<const CXXRecordDecl *, CharUnits> VirtualBaseOffsets; 86 bool getExternalNVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalNVBaseOffset() 94 bool getExternalVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalVBaseOffset() 110 const CXXRecordDecl *Class; 113 typedef llvm::TinyPtrVector<const CXXRecordDecl *> ClassVectorTy; 125 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset); 130 void UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD, 131 const CXXRecordDecl *Class, [all …]
|
D | DeclCXX.cpp | 48 CXXRecordDecl::DefinitionData::DefinitionData(CXXRecordDecl *D) in DefinitionData() 77 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const { in getBasesSlowCase() 81 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const { in getVBasesSlowCase() 85 CXXRecordDecl::CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, in CXXRecordDecl() function in CXXRecordDecl 88 CXXRecordDecl *PrevDecl) in CXXRecordDecl() 94 CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK, in Create() 97 CXXRecordDecl* PrevDecl, in Create() 99 CXXRecordDecl *R = new (C, DC) CXXRecordDecl(CXXRecord, TK, C, DC, StartLoc, in Create() 109 CXXRecordDecl * 110 CXXRecordDecl::CreateLambda(const ASTContext &C, DeclContext *DC, in CreateLambda() [all …]
|
D | VTableBuilder.cpp | 37 const CXXRecordDecl *DerivedClass; 42 const CXXRecordDecl *VirtualBase; 52 BaseOffset(const CXXRecordDecl *DerivedClass, in BaseOffset() 53 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset() 71 const CXXRecordDecl *VirtualBase; 83 const CXXRecordDecl *MostDerivedClass; 93 const CXXRecordDecl *LayoutClass; 114 typedef llvm::DenseMap<std::pair<const CXXRecordDecl *, unsigned>, 117 typedef llvm::DenseMap<const CXXRecordDecl *, unsigned> SubobjectCountMapTy; 127 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy; [all …]
|
/external/clang/include/clang/AST/ |
D | VTableBuilder.h | 28 class CXXRecordDecl; variable 68 static VTableComponent MakeRTTI(const CXXRecordDecl *RD) { in MakeRTTI() 124 const CXXRecordDecl *getRTTIDecl() const { in getRTTIDecl() 126 return reinterpret_cast<CXXRecordDecl *>(getPointer()); in getRTTIDecl() 311 virtual void computeVTableRelatedInformation(const CXXRecordDecl *RD) = 0; 342 typedef llvm::DenseMap<const CXXRecordDecl *, const VTableLayout *> 346 typedef std::pair<const CXXRecordDecl *, 347 const CXXRecordDecl *> ClassPairTy; 357 void computeVTableRelatedInformation(const CXXRecordDecl *RD) override; 363 const VTableLayout &getVTableLayout(const CXXRecordDecl *RD) { in getVTableLayout() [all …]
|
D | VTTBuilder.h | 29 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> BaseAndIsVirtual; 34 VTTVTable(const CXXRecordDecl *Base, CharUnits BaseOffset, bool BaseIsVirtual) in VTTVTable() 40 const CXXRecordDecl *getBase() const { in getBase() 72 const CXXRecordDecl *MostDerivedClass; 87 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy; 103 const CXXRecordDecl *VTableClass); 116 const CXXRecordDecl *VTableClass, 126 void LayoutVirtualVTTs(const CXXRecordDecl *RD, 134 VTTBuilder(ASTContext &Ctx, const CXXRecordDecl *MostDerivedClass,
|
D | RecordLayout.h | 25 class CXXRecordDecl; variable 56 typedef llvm::DenseMap<const CXXRecordDecl *, VBaseInfo> 114 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> PrimaryBase; 117 const CXXRecordDecl *BaseSharingVBPtr; 120 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsetsMapTy; 150 const CXXRecordDecl *PrimaryBase, 152 const CXXRecordDecl *BaseSharingVBPtr, 204 const CXXRecordDecl *getPrimaryBase() const { in getPrimaryBase() 219 CharUnits getBaseClassOffset(const CXXRecordDecl *Base) const { in getBaseClassOffset() 227 CharUnits getVBaseClassOffset(const CXXRecordDecl *VBase) const { in getVBaseClassOffset() [all …]
|
D | CXXInheritance.h | 33 class CXXRecordDecl; variable 50 const CXXRecordDecl *Class; 119 CXXRecordDecl *Origin; 161 friend class CXXRecordDecl; variable 165 bool lookupInBases(ASTContext &Context, const CXXRecordDecl *Record, 166 CXXRecordDecl::BaseMatchesCallback BaseMatches); 217 CXXRecordDecl *getOrigin() const { return Origin; } in getOrigin() 218 void setOrigin(CXXRecordDecl *Rec) { Origin = Rec; } in setOrigin() 235 const CXXRecordDecl *InVirtualSubobject) in UniqueVirtualMethod() 249 const CXXRecordDecl *InVirtualSubobject; [all …]
|
D | Mangle.h | 157 virtual void mangleCXXVTable(const CXXRecordDecl *RD, raw_ostream &) = 0; 158 virtual void mangleCXXVTT(const CXXRecordDecl *RD, raw_ostream &) = 0; 159 virtual void mangleCXXCtorVTable(const CXXRecordDecl *RD, int64_t Offset, 160 const CXXRecordDecl *Type, 188 virtual void mangleCXXVFTable(const CXXRecordDecl *Derived, 189 ArrayRef<const CXXRecordDecl *> BasePath, 195 virtual void mangleCXXVBTable(const CXXRecordDecl *Derived, 196 ArrayRef<const CXXRecordDecl *> BasePath, 206 virtual void mangleCXXVirtualDisplacementMap(const CXXRecordDecl *SrcRD, 207 const CXXRecordDecl *DstRD, [all …]
|
/external/llvm-project/clang/include/clang/AST/ |
D | VTableBuilder.h | 26 class CXXRecordDecl; variable 66 static VTableComponent MakeRTTI(const CXXRecordDecl *RD) { in MakeRTTI() 118 const CXXRecordDecl *getRTTIDecl() const { in getRTTIDecl() 120 return reinterpret_cast<CXXRecordDecl *>(getPointer()); in getRTTIDecl() 336 virtual void computeVTableRelatedInformation(const CXXRecordDecl *RD) = 0; 370 typedef llvm::DenseMap<const CXXRecordDecl *, 375 typedef std::pair<const CXXRecordDecl *, 376 const CXXRecordDecl *> ClassPairTy; 386 void computeVTableRelatedInformation(const CXXRecordDecl *RD) override; 402 const VTableLayout &getVTableLayout(const CXXRecordDecl *RD) { in getVTableLayout() [all …]
|
D | VTTBuilder.h | 30 class CXXRecordDecl; variable 33 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> BaseAndIsVirtual; 38 VTTVTable(const CXXRecordDecl *Base, CharUnits BaseOffset, bool BaseIsVirtual) in VTTVTable() 44 const CXXRecordDecl *getBase() const { in getBase() 75 const CXXRecordDecl *MostDerivedClass; 90 using VisitedVirtualBasesSetTy = llvm::SmallPtrSet<const CXXRecordDecl *, 4>; 106 const CXXRecordDecl *VTableClass); 119 const CXXRecordDecl *VTableClass, 129 void LayoutVirtualVTTs(const CXXRecordDecl *RD, 137 VTTBuilder(ASTContext &Ctx, const CXXRecordDecl *MostDerivedClass,
|
D | Mangle.h | 159 virtual void mangleCXXVTable(const CXXRecordDecl *RD, raw_ostream &) = 0; 160 virtual void mangleCXXVTT(const CXXRecordDecl *RD, raw_ostream &) = 0; 161 virtual void mangleCXXCtorVTable(const CXXRecordDecl *RD, int64_t Offset, 162 const CXXRecordDecl *Type, 174 virtual void mangleLambdaSig(const CXXRecordDecl *Lambda, raw_ostream &) = 0; 194 virtual void mangleCXXVFTable(const CXXRecordDecl *Derived, 195 ArrayRef<const CXXRecordDecl *> BasePath, 201 virtual void mangleCXXVBTable(const CXXRecordDecl *Derived, 202 ArrayRef<const CXXRecordDecl *> BasePath, 213 virtual void mangleCXXVirtualDisplacementMap(const CXXRecordDecl *SrcRD, [all …]
|
D | CXXInheritance.h | 51 const CXXRecordDecl *Class; 119 friend class CXXRecordDecl; variable 122 const CXXRecordDecl *Origin = nullptr; 143 llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedDependentRecords; 167 bool lookupInBases(ASTContext &Context, const CXXRecordDecl *Record, 168 CXXRecordDecl::BaseMatchesCallback BaseMatches, 218 const CXXRecordDecl *getOrigin() const { return Origin; } in getOrigin() 219 void setOrigin(const CXXRecordDecl *Rec) { Origin = Rec; } in setOrigin() 242 const CXXRecordDecl *InVirtualSubobject = nullptr; 247 const CXXRecordDecl *InVirtualSubobject) in UniqueVirtualMethod() [all …]
|
D | RecordLayout.h | 29 class CXXRecordDecl; variable 59 using VBaseOffsetsMapTy = llvm::DenseMap<const CXXRecordDecl *, VBaseInfo>; 132 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> PrimaryBase; 135 const CXXRecordDecl *BaseSharingVBPtr; 138 using BaseOffsetsMapTy = llvm::DenseMap<const CXXRecordDecl *, CharUnits>; 167 const CXXRecordDecl *PrimaryBase, bool IsPrimaryBaseVirtual, 168 const CXXRecordDecl *BaseSharingVBPtr, 234 const CXXRecordDecl *getPrimaryBase() const { in getPrimaryBase() 249 CharUnits getBaseClassOffset(const CXXRecordDecl *Base) const { in getBaseClassOffset() 259 CharUnits getVBaseClassOffset(const CXXRecordDecl *VBase) const { in getVBaseClassOffset() [all …]
|
/external/clang/lib/CodeGen/ |
D | CGVTables.h | 26 class CXXRecordDecl; variable 39 typedef std::pair<const CXXRecordDecl *, BaseSubobject> BaseSubobjectPairTy; 65 const CXXRecordDecl *RD, const VTableComponent *Components, 81 uint64_t getSubVTTIndex(const CXXRecordDecl *RD, BaseSubobject Base); 85 uint64_t getSecondaryVirtualPointerIndex(const CXXRecordDecl *RD, 91 GenerateConstructionVTable(const CXXRecordDecl *RD, const BaseSubobject &Base, 98 llvm::GlobalVariable *GetAddrOfVTT(const CXXRecordDecl *RD); 103 const CXXRecordDecl *RD); 112 void GenerateClassData(const CXXRecordDecl *RD); 114 bool isVTableExternal(const CXXRecordDecl *RD);
|
/external/llvm-project/clang/lib/Sema/ |
D | SemaAccess.cpp | 65 static CXXRecordDecl *FindDeclaringClass(NamedDecl *D) { in FindDeclaringClass() 73 CXXRecordDecl *DeclaringClass = cast<CXXRecordDecl>(DC); in FindDeclaringClass() 75 DeclaringClass = cast<CXXRecordDecl>(DeclaringClass->getDeclContext()); in FindDeclaringClass() 106 if (isa<CXXRecordDecl>(DC)) { in EffectiveContext() 107 CXXRecordDecl *Record = cast<CXXRecordDecl>(DC); in EffectiveContext() 127 bool includesClass(const CXXRecordDecl *R) const { in includesClass() 138 typedef SmallVectorImpl<CXXRecordDecl*>::const_iterator record_iterator; 142 SmallVector<CXXRecordDecl*, 4> Records; 156 CXXRecordDecl *NamingClass, in AccessTarget() 166 CXXRecordDecl *BaseClass, in AccessTarget() [all …]
|
/external/clang/lib/Sema/ |
D | SemaAccess.cpp | 65 static CXXRecordDecl *FindDeclaringClass(NamedDecl *D) { in FindDeclaringClass() 73 CXXRecordDecl *DeclaringClass = cast<CXXRecordDecl>(DC); in FindDeclaringClass() 75 DeclaringClass = cast<CXXRecordDecl>(DeclaringClass->getDeclContext()); in FindDeclaringClass() 106 if (isa<CXXRecordDecl>(DC)) { in EffectiveContext() 107 CXXRecordDecl *Record = cast<CXXRecordDecl>(DC); in EffectiveContext() 127 bool includesClass(const CXXRecordDecl *R) const { in includesClass() 139 typedef SmallVectorImpl<CXXRecordDecl*>::const_iterator record_iterator; 143 SmallVector<CXXRecordDecl*, 4> Records; 157 CXXRecordDecl *NamingClass, in AccessTarget() 167 CXXRecordDecl *BaseClass, in AccessTarget() [all …]
|
/external/llvm-project/clang-tools-extra/clangd/unittests/ |
D | TypeHierarchyTests.cpp | 73 const CXXRecordDecl *RD = findRecordTypeAt(AST, Pt); in TEST() 95 const CXXRecordDecl *RD = findRecordTypeAt(AST, Pt); in TEST() 116 const CXXRecordDecl *RD = findRecordTypeAt(AST, Pt); in TEST() 142 const CXXRecordDecl *Parent = in TEST() 143 dyn_cast<CXXRecordDecl>(&findDecl(AST, "Parent")); in TEST() 144 const CXXRecordDecl *Child1 = in TEST() 145 dyn_cast<CXXRecordDecl>(&findDecl(AST, "Child1")); in TEST() 146 const CXXRecordDecl *Child2 = in TEST() 147 dyn_cast<CXXRecordDecl>(&findDecl(AST, "Child2")); in TEST() 176 const CXXRecordDecl *Parent1 = in TEST() [all …]
|
/external/llvm-project/clang/lib/CodeGen/ |
D | CGVTables.h | 25 class CXXRecordDecl; variable 40 typedef std::pair<const CXXRecordDecl *, BaseSubobject> BaseSubobjectPairTy; 111 uint64_t getSubVTTIndex(const CXXRecordDecl *RD, BaseSubobject Base); 115 uint64_t getSecondaryVirtualPointerIndex(const CXXRecordDecl *RD, 121 GenerateConstructionVTable(const CXXRecordDecl *RD, const BaseSubobject &Base, 128 llvm::GlobalVariable *GetAddrOfVTT(const CXXRecordDecl *RD); 133 const CXXRecordDecl *RD); 142 void GenerateClassData(const CXXRecordDecl *RD); 144 bool isVTableExternal(const CXXRecordDecl *RD);
|
/external/llvm-project/clang-tools-extra/clang-tidy/fuchsia/ |
D | MultipleInheritanceCheck.cpp | 21 AST_MATCHER(CXXRecordDecl, hasBases) { in AST_MATCHER() argument 30 void MultipleInheritanceCheck::addNodeToInterfaceMap(const CXXRecordDecl *Node, in addNodeToInterfaceMap() 40 bool MultipleInheritanceCheck::getInterfaceStatus(const CXXRecordDecl *Node, in getInterfaceStatus() 52 const CXXRecordDecl *Node) const { in isCurrentClassInterface() 62 bool MultipleInheritanceCheck::isInterface(const CXXRecordDecl *Node) { in isInterface() 78 const auto *Base = cast<CXXRecordDecl>(D); in isInterface() 97 if (const auto *D = Result.Nodes.getNodeAs<CXXRecordDecl>("decl")) { in check() 105 const auto *Base = cast<CXXRecordDecl>(Ty->getDecl()->getDefinition()); in check() 114 const auto *Base = cast<CXXRecordDecl>(Ty->getDecl()->getDefinition()); in check()
|