/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 | 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 | 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 | 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 …]
|
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()
|
/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 …]
|
D | DeclFriend.h | 67 friend class CXXRecordDecl::friend_iterator; 68 friend class CXXRecordDecl; variable 173 class CXXRecordDecl::friend_iterator { 176 friend class CXXRecordDecl; variable 223 inline CXXRecordDecl::friend_iterator CXXRecordDecl::friend_begin() const { in friend_begin() 227 inline CXXRecordDecl::friend_iterator CXXRecordDecl::friend_end() const { in friend_end() 231 inline CXXRecordDecl::friend_range CXXRecordDecl::friends() const { in friends() 235 inline void CXXRecordDecl::pushFriendDecl(FriendDecl *FD) { in pushFriendDecl()
|
D | DeclCXX.h | 40 class CXXRecordDecl; variable 263 class CXXRecordDecl : public RecordDecl { 279 DefinitionData(CXXRecordDecl *D); 490 CXXRecordDecl *Definition; 530 LambdaDefinitionData(CXXRecordDecl *D, TypeSourceInfo *Info, in LambdaDefinitionData() 624 void addedClassSubobject(CXXRecordDecl *Base); 643 CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, DeclContext *DC, 645 IdentifierInfo *Id, CXXRecordDecl *PrevDecl); 654 CXXRecordDecl *getCanonicalDecl() override { in getCanonicalDecl() 655 return cast<CXXRecordDecl>(RecordDecl::getCanonicalDecl()); in getCanonicalDecl() [all …]
|
D | BaseSubobject.h | 29 const CXXRecordDecl *Base; 36 BaseSubobject(const CXXRecordDecl *Base, CharUnits BaseOffset) in BaseSubobject() 40 const CXXRecordDecl *getBase() const { return Base; } in getBase() 57 DenseMapInfo<const clang::CXXRecordDecl *>::getEmptyKey(), 63 DenseMapInfo<const clang::CXXRecordDecl *>::getTombstoneKey(), 68 typedef std::pair<const clang::CXXRecordDecl *, clang::CharUnits> PairTy;
|
/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/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 140 bool canCopyArgument(const CXXRecordDecl *RD) const; 143 virtual RecordArgABI getRecordArgABI(const CXXRecordDecl *RD) const = 0; 241 virtual bool canSpeculativelyEmitVTable(const CXXRecordDecl *RD) const = 0; 278 const CXXRecordDecl *ClassDecl, 279 const CXXRecordDecl *BaseClassDecl) = 0; 282 const CXXRecordDecl *RD); 288 const CXXRecordDecl *RD) {} in initializeHiddenVirtualInheritanceMembers() 312 virtual const CXXRecordDecl * 372 const CXXRecordDecl *RD) = 0; [all …]
|
D | CGClass.cpp | 36 CharUnits CodeGenModule::getClassPointerAlignment(const CXXRecordDecl *RD) { in getClassPointerAlignment() 56 const CXXRecordDecl *derivedClass, in getVBaseAlignment() 57 const CXXRecordDecl *vbaseClass) { in getVBaseAlignment() 71 const CXXRecordDecl *baseDecl, in getDynamicOffsetAlignment() 148 const CXXRecordDecl *DerivedClass, CastExpr::path_const_iterator Start, in computeNonVirtualBaseClassOffset() 153 const CXXRecordDecl *RD = DerivedClass; in computeNonVirtualBaseClassOffset() 162 const CXXRecordDecl *BaseDecl = in computeNonVirtualBaseClassOffset() 163 cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl()); in computeNonVirtualBaseClassOffset() 175 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl, in GetNonVirtualBaseClassOffset() 198 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()
|
/external/v8/tools/clang/blink_gc_plugin/ |
D | RecordInfo.h | 74 typedef std::vector<std::pair<clang::CXXRecordDecl*, BasePoint>> Bases; 87 clang::CXXRecordDecl* record() const { return record_; } in record() 120 static clang::CXXRecordDecl* GetDependentTemplatedDecl(const clang::Type&); 123 RecordInfo(clang::CXXRecordDecl* record, RecordCache* cache); 138 clang::CXXRecordDecl* record_; 172 RecordInfo* Lookup(clang::CXXRecordDecl* record); 174 RecordInfo* Lookup(const clang::CXXRecordDecl* record) { in Lookup() 175 return Lookup(const_cast<clang::CXXRecordDecl*>(record)); in Lookup() 179 return Lookup(clang::dyn_cast<clang::CXXRecordDecl>(decl)); in Lookup() 207 typedef std::map<clang::CXXRecordDecl*, RecordInfo> Cache;
|
D | RecordInfo.cpp | 12 RecordInfo::RecordInfo(CXXRecordDecl* record, RecordCache* cache) in RecordInfo() 70 if (CXXRecordDecl* decl = (*it)->getAsCXXRecordDecl()) in IsHeapAllocatedCollection() 125 CXXRecordDecl* RecordInfo::GetDependentTemplatedDecl(const Type& type) { in GetDependentTemplatedDecl() 135 return dyn_cast_or_null<CXXRecordDecl>(tmpl_decl->getTemplatedDecl()); in GetDependentTemplatedDecl() 142 SmallVector<const CXXRecordDecl*, 8> queue; in walkBases() 144 const CXXRecordDecl* base_record = record(); in walkBases() 148 CXXRecordDecl* base; in walkBases() 152 base = cast_or_null<CXXRecordDecl>(type->getDecl()->getDefinition()); in walkBases() 224 RecordInfo* RecordCache::Lookup(CXXRecordDecl* record) { in Lookup() 246 for (CXXRecordDecl::method_iterator it = record_->method_begin(); in IsStackAllocated() [all …]
|
D | BlinkGCPluginConsumer.cpp | 158 CXXRecordDecl* record = info->record(); in CheckRecord() 242 CXXRecordDecl* BlinkGCPluginConsumer::GetDependentTemplatedDecl( in GetDependentTemplatedDecl() 253 return dyn_cast<CXXRecordDecl>(tmpl_decl->getTemplatedDecl()); in GetDependentTemplatedDecl() 275 CXXRecordDecl* left_most = info->record(); in CheckPolymorphicClass() 276 CXXRecordDecl::base_class_iterator it = left_most->bases_begin(); in CheckPolymorphicClass() 277 CXXRecordDecl* left_most_base = 0; in CheckPolymorphicClass() 325 if (CXXRecordDecl* next_base = it->getType()->getAsCXXRecordDecl()) { in CheckPolymorphicClass() 326 if (CXXRecordDecl* next_left_most = GetLeftMostBase(next_base)) { in CheckPolymorphicClass() 339 CXXRecordDecl* BlinkGCPluginConsumer::GetLeftMostBase( in GetLeftMostBase() 340 CXXRecordDecl* left_most) { in GetLeftMostBase() [all …]
|
/external/v8/tools/clang/plugins/ |
D | FindBadConstructsConsumer.h | 62 clang::CXXRecordDecl* record) override; 69 clang::CXXRecordDecl* record); 81 clang::CXXRecordDecl* record, 92 const clang::CXXRecordDecl* record, 102 clang::CXXRecordDecl* record); 105 clang::CXXRecordDecl* record);
|
/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;
|