Home
last modified time | relevance | path

Searched refs:CXXRecordDecl (Results 1 – 25 of 208) sorted by relevance

123456789

/external/clang/lib/AST/
DCXXInheritance.cpp76 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 …]
DRecordLayoutBuilder.cpp41 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 …]
DVTTBuilder.cpp29 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 …]
DDeclCXX.cpp48 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 …]
DVTableBuilder.cpp37 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 …]
DMicrosoftCXXABI.cpp69 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/
DVTableBuilder.h28 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 …]
DVTTBuilder.h29 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,
DRecordLayout.h25 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 …]
DCXXInheritance.h33 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 …]
DMangle.h157 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 …]
DDeclFriend.h67 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()
DDeclCXX.h40 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 …]
DBaseSubobject.h29 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/
DSemaAccess.cpp65 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/
DCGVTables.h26 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);
DCGCXXABI.h33 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 …]
DCGClass.cpp36 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 …]
DCGCXXABI.cpp32 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/
DRecordInfo.h74 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;
DRecordInfo.cpp12 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 …]
DBlinkGCPluginConsumer.cpp158 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/
DFindBadConstructsConsumer.h62 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/
Dcxx-chain-function-template.cpp6 struct CXXRecordDecl { CXXRecordDecl(int); }; struct
22 cast<CXXRecordDecl>(1.0f); in test2()
28 cast<CXXRecordDecl>(1.0f); in test3()
/external/clang/include/clang/Sema/
DDelayedDiagnostic.h46 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;

123456789