Home
last modified time | relevance | path

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

12345678

/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 …]
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 …]
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 …]
DDeclCXX.cpp48 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 …]
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()
DDeclFriend.cpp36 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/
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>
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 …]
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.h155 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 …]
DBaseSubobject.h23 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;
DDeclFriend.h73 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()
DDeclCXX.h38 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/
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
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 …]
DCGClass.cpp35 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 …]
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()
DMicrosoftCXXABI.cpp56 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/
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 …]
DSemaDeclCXX.cpp597 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/
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;
/external/clang/lib/StaticAnalyzer/Checkers/
DLLVMConventionsChecker.cpp199 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()

12345678