/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() 78 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getBasesSlowCase() const { in getBasesSlowCase() 82 CXXBaseSpecifier *CXXRecordDecl::DefinitionData::getVBasesSlowCase() const { in getVBasesSlowCase() 86 CXXRecordDecl::CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, in CXXRecordDecl() function in CXXRecordDecl 89 CXXRecordDecl *PrevDecl) in CXXRecordDecl() 95 CXXRecordDecl *CXXRecordDecl::Create(const ASTContext &C, TagKind TK, in Create() 98 CXXRecordDecl* PrevDecl, in Create() 100 CXXRecordDecl *R = new (C, DC) CXXRecordDecl(CXXRecord, TK, C, DC, StartLoc, in Create() 110 CXXRecordDecl * 111 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 …]
|
D | MicrosoftCXXABI.cpp | 69 llvm::SmallDenseMap<CXXRecordDecl *, CXXConstructorDecl *> RecordToCopyCtor; 91 bool isNearlyEmpty(const CXXRecordDecl *RD) const override { in isNearlyEmpty() 106 getCopyConstructorForExceptionObject(CXXRecordDecl *RD) override { in getCopyConstructorForExceptionObject() 111 addCopyConstructorForExceptionObject(CXXRecordDecl *RD, in addCopyConstructorForExceptionObject() 155 static bool usesMultipleInheritanceModel(const CXXRecordDecl *RD) { in usesMultipleInheritanceModel() 160 const CXXRecordDecl *Base = in usesMultipleInheritanceModel() 169 MSInheritanceAttr::Spelling CXXRecordDecl::calculateInheritanceModel() const { in calculateInheritanceModel() 180 CXXRecordDecl::getMSInheritanceModel() const { in getMSInheritanceModel() 186 MSVtorDispAttr::Mode CXXRecordDecl::getMSVtorDispMode() const { in getMSVtorDispMode() 223 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl(); in getMSMemberPointerSlots()
|
D | DeclFriend.cpp | 36 isa<CXXRecordDecl>(D) || in Create() 43 (cast<CXXRecordDecl>(DC)->getTemplateSpecializationKind())); in Create() 52 cast<CXXRecordDecl>(DC)->pushFriendDecl(FD); in Create() 62 FriendDecl *CXXRecordDecl::getFirstFriend() const { in getFirstFriend()
|
/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> 117 llvm::PointerIntPair<const CXXRecordDecl *, 1, bool> PrimaryBase; 120 const CXXRecordDecl *BaseSharingVBPtr; 123 typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsetsMapTy; 154 const CXXRecordDecl *PrimaryBase, 156 const CXXRecordDecl *BaseSharingVBPtr, 209 const CXXRecordDecl *getPrimaryBase() const { in getPrimaryBase() 224 CharUnits getBaseClassOffset(const CXXRecordDecl *Base) const { in getBaseClassOffset() 232 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 | 155 virtual void mangleCXXVTable(const CXXRecordDecl *RD, raw_ostream &) = 0; 156 virtual void mangleCXXVTT(const CXXRecordDecl *RD, raw_ostream &) = 0; 157 virtual void mangleCXXCtorVTable(const CXXRecordDecl *RD, int64_t Offset, 158 const CXXRecordDecl *Type, 186 virtual void mangleCXXVFTable(const CXXRecordDecl *Derived, 187 ArrayRef<const CXXRecordDecl *> BasePath, 193 virtual void mangleCXXVBTable(const CXXRecordDecl *Derived, 194 ArrayRef<const CXXRecordDecl *> BasePath, 204 virtual void mangleCXXVirtualDisplacementMap(const CXXRecordDecl *SrcRD, 205 const CXXRecordDecl *DstRD, [all …]
|
D | BaseSubobject.h | 23 class CXXRecordDecl; variable 30 const CXXRecordDecl *Base; 37 BaseSubobject(const CXXRecordDecl *Base, CharUnits BaseOffset) in BaseSubobject() 41 const CXXRecordDecl *getBase() const { return Base; } in getBase() 58 DenseMapInfo<const clang::CXXRecordDecl *>::getEmptyKey(), 64 DenseMapInfo<const clang::CXXRecordDecl *>::getTombstoneKey(), 69 typedef std::pair<const clang::CXXRecordDecl *, clang::CharUnits> PairTy;
|
D | DeclFriend.h | 73 friend class CXXRecordDecl::friend_iterator; 74 friend class CXXRecordDecl; variable 177 class CXXRecordDecl::friend_iterator { 180 friend class CXXRecordDecl; variable 227 inline CXXRecordDecl::friend_iterator CXXRecordDecl::friend_begin() const { in friend_begin() 231 inline CXXRecordDecl::friend_iterator CXXRecordDecl::friend_end() const { in friend_end() 235 inline CXXRecordDecl::friend_range CXXRecordDecl::friends() const { in friends() 239 inline void CXXRecordDecl::pushFriendDecl(FriendDecl *FD) { in pushFriendDecl()
|
D | DeclCXX.h | 38 class CXXRecordDecl; variable 285 class CXXRecordDecl : public RecordDecl { 301 DefinitionData(CXXRecordDecl *D); 496 CXXRecordDecl *Definition; 523 typedef LazyDefinitionDataPtr<CXXRecordDecl, struct DefinitionData> 525 friend class LazyDefinitionDataPtr<CXXRecordDecl, struct DefinitionData>; 533 LambdaDefinitionData(CXXRecordDecl *D, TypeSourceInfo *Info, in LambdaDefinitionData() 621 void addedClassSubobject(CXXRecordDecl *Base); 640 CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, DeclContext *DC, 642 IdentifierInfo *Id, CXXRecordDecl *PrevDecl); [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);
|
D | CGCXXABI.h | 33 class CXXRecordDecl; variable 130 bool canCopyArgument(const CXXRecordDecl *RD) const; 133 virtual RecordArgABI getRecordArgABI(const CXXRecordDecl *RD) const = 0; 231 virtual bool canSpeculativelyEmitVTable(const CXXRecordDecl *RD) const = 0; 268 const CXXRecordDecl *ClassDecl, 269 const CXXRecordDecl *BaseClassDecl) = 0; 272 const CXXRecordDecl *RD); 278 const CXXRecordDecl *RD) {} in initializeHiddenVirtualInheritanceMembers() 302 virtual const CXXRecordDecl * 356 const CXXRecordDecl *RD) = 0; [all …]
|
D | CGClass.cpp | 35 CharUnits CodeGenModule::getClassPointerAlignment(const CXXRecordDecl *RD) { in getClassPointerAlignment() 55 const CXXRecordDecl *derivedClass, in getVBaseAlignment() 56 const CXXRecordDecl *vbaseClass) { in getVBaseAlignment() 70 const CXXRecordDecl *baseDecl, in getDynamicOffsetAlignment() 147 const CXXRecordDecl *DerivedClass, CastExpr::path_const_iterator Start, in computeNonVirtualBaseClassOffset() 152 const CXXRecordDecl *RD = DerivedClass; in computeNonVirtualBaseClassOffset() 161 const CXXRecordDecl *BaseDecl = in computeNonVirtualBaseClassOffset() 162 cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl()); in computeNonVirtualBaseClassOffset() 174 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl, in GetNonVirtualBaseClassOffset() 197 const CXXRecordDecl *Derived, in GetAddressOfDirectBaseInCompleteClass() [all …]
|
D | CGCXXABI.cpp | 32 bool CGCXXABI::canCopyArgument(const CXXRecordDecl *RD) const { in canCopyArgument() 85 const CXXRecordDecl *RD = in EmitLoadOfMemberFunctionPointer() 86 cast<CXXRecordDecl>(MPT->getClass()->getAs<RecordType>()->getDecl()); in EmitLoadOfMemberFunctionPointer() 275 const CXXRecordDecl *derivedClass = in getMemberPointerAdjustment() 288 ArrayRef<const CXXRecordDecl*> Path = MP.getMemberPointerPath(); in getMemberPointerPathAdjustment() 290 const CXXRecordDecl *RD = cast<CXXRecordDecl>(MPD->getDeclContext()); in getMemberPointerPathAdjustment() 292 const CXXRecordDecl *Base = RD; in getMemberPointerPathAdjustment() 293 const CXXRecordDecl *Derived = Path[I]; in getMemberPointerPathAdjustment() 307 const CXXRecordDecl *RD) { in EmitCtorCompleteObjectHandler() 330 std::vector<CharUnits> CGCXXABI::getVBPtrOffsets(const CXXRecordDecl *RD) { in getVBPtrOffsets()
|
D | MicrosoftCXXABI.cpp | 56 RecordArgABI getRecordArgABI(const CXXRecordDecl *RD) const override; 93 std::vector<CharUnits> getVBPtrOffsets(const CXXRecordDecl *RD) override { in getVBPtrOffsets() 124 llvm::GlobalVariable *getMSCompleteObjectLocator(const CXXRecordDecl *RD, 155 bool canSpeculativelyEmitVTable(const CXXRecordDecl *RD) const override { in canSpeculativelyEmitVTable() 161 const CXXRecordDecl *ClassDecl, 162 const CXXRecordDecl *BaseClassDecl) override; 166 const CXXRecordDecl *RD) override; 169 const CXXRecordDecl *RD) override; 216 const CXXRecordDecl * 257 void emitVTableBitSetEntries(VPtrInfo *Info, const CXXRecordDecl *RD, [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 …]
|
D | SemaDeclCXX.cpp | 597 if (CXXRecordDecl *Record in MergeCXXFunctionDecl() 598 = dyn_cast<CXXRecordDecl>(New->getDeclContext())) { in MergeCXXFunctionDecl() 810 const CXXRecordDecl *RD = MD->getParent(); in CheckConstexprFunctionDecl() 1169 const CXXRecordDecl *RD = Constructor->getParent(); in CheckConstexprFunctionBody() 1190 for (CXXRecordDecl::field_iterator I = RD->field_begin(), in CheckConstexprFunctionBody() 1276 CXXRecordDecl *CurDecl; in isCurrentClassName() 1279 CurDecl = dyn_cast_or_null<CXXRecordDecl>(DC); in isCurrentClassName() 1281 CurDecl = dyn_cast_or_null<CXXRecordDecl>(CurContext); in isCurrentClassName() 1297 CXXRecordDecl *CurDecl; in isCurrentClassNameTypo() 1300 CurDecl = dyn_cast_or_null<CXXRecordDecl>(DC); in isCurrentClassNameTypo() [all …]
|
/external/clang/test/PCH/ |
D | cxx-chain-function-template.cpp | 6 struct CXXRecordDecl { CXXRecordDecl(int); }; struct 22 cast<CXXRecordDecl>(1.0f); in test2() 28 cast<CXXRecordDecl>(1.0f); in test3()
|
/external/clang/include/clang/Sema/ |
D | DelayedDiagnostic.h | 46 CXXRecordDecl *NamingClass, in AccessedEntity() 56 CXXRecordDecl *BaseClass, in AccessedEntity() 57 CXXRecordDecl *DerivedClass, in AccessedEntity() 71 CXXRecordDecl *getNamingClass() const { return NamingClass; } in getNamingClass() 74 CXXRecordDecl *getBaseClass() const { in getBaseClass() 75 assert(!IsMember); return cast<CXXRecordDecl>(Target); in getBaseClass() 77 CXXRecordDecl *getDerivedClass() const { return NamingClass; } in getDerivedClass() 107 CXXRecordDecl *NamingClass;
|
/external/clang/lib/StaticAnalyzer/Checkers/ |
D | LLVMConventionsChecker.cpp | 199 static bool IsPartOfAST(const CXXRecordDecl *R) { in IsPartOfAST() 206 CXXRecordDecl *baseD = cast<CXXRecordDecl>(baseT->getDecl()); in IsPartOfAST() 218 const CXXRecordDecl *Root; 223 ASTFieldVisitor(const CXXRecordDecl *root, BugReporter &br, in ASTFieldVisitor() 232 static void CheckASTMemory(const CXXRecordDecl *R, BugReporter &BR, in CheckASTMemory() 299 check::ASTDecl<CXXRecordDecl>, 302 void checkASTDecl(const CXXRecordDecl *R, AnalysisManager& mgr, in checkASTDecl()
|