Home
last modified time | relevance | path

Searched refs:CXXRecordDecl (Results 1 – 25 of 201) 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_cast<CXXRecordDecl*>(Base->getCanonicalDecl()), in isDerivedFrom()
93 bool CXXRecordDecl::isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const { in isVirtuallyDerivedFrom()
103 Paths.setOrigin(const_cast<CXXRecordDecl*>(this)); in isVirtuallyDerivedFrom()
111 static bool BaseIsNot(const CXXRecordDecl *Base, void *OpaqueTarget) { in BaseIsNot()
113 return Base->getCanonicalDecl() != (const CXXRecordDecl*) OpaqueTarget; in BaseIsNot()
116 bool CXXRecordDecl::isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const { in isProvablyNotDerivedFrom()
118 const_cast<CXXRecordDecl *>(Base->getCanonicalDecl())); 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.cpp42 const CXXRecordDecl *Class;
65 const CXXRecordDecl *Class;
68 typedef llvm::TinyPtrVector<const CXXRecordDecl *> ClassVectorTy;
80 void AddSubobjectAtOffset(const CXXRecordDecl *RD, CharUnits Offset);
85 void UpdateEmptyFieldSubobjects(const CXXRecordDecl *RD,
86 const CXXRecordDecl *Class,
106 bool CanPlaceSubobjectAtOffset(const CXXRecordDecl *RD,
112 bool CanPlaceFieldSubobjectAtOffset(const CXXRecordDecl *RD,
113 const CXXRecordDecl *Class,
124 EmptySubobjectMap(const ASTContext &Context, const CXXRecordDecl *Class) in EmptySubobjectMap()
[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.cpp35 const CXXRecordDecl *DerivedClass;
40 const CXXRecordDecl *VirtualBase;
50 BaseOffset(const CXXRecordDecl *DerivedClass, in BaseOffset()
51 const CXXRecordDecl *VirtualBase, CharUnits NonVirtualOffset) in BaseOffset()
69 const CXXRecordDecl *VirtualBase;
81 const CXXRecordDecl *MostDerivedClass;
91 const CXXRecordDecl *LayoutClass;
112 typedef llvm::DenseMap<std::pair<const CXXRecordDecl *, unsigned>,
115 typedef llvm::DenseMap<const CXXRecordDecl *, unsigned> SubobjectCountMapTy;
125 typedef llvm::SmallPtrSet<const CXXRecordDecl *, 4> VisitedVirtualBasesSetTy;
[all …]
DMicrosoftCXXABI.cpp58 bool isNearlyEmpty(const CXXRecordDecl *RD) const override { in isNearlyEmpty()
81 static bool usesMultipleInheritanceModel(const CXXRecordDecl *RD) { in usesMultipleInheritanceModel()
86 const CXXRecordDecl *Base = in usesMultipleInheritanceModel()
95 MSInheritanceAttr::Spelling CXXRecordDecl::calculateInheritanceModel() const { in calculateInheritanceModel()
106 CXXRecordDecl::getMSInheritanceModel() const { in getMSInheritanceModel()
112 MSVtorDispAttr::Mode CXXRecordDecl::getMSVtorDispMode() const { in getMSVtorDispMode()
148 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()
127 return reinterpret_cast<CXXRecordDecl *>(getPointer()); in getRTTIDecl()
286 virtual void computeVTableRelatedInformation(const CXXRecordDecl *RD) = 0;
317 typedef llvm::DenseMap<const CXXRecordDecl *, const VTableLayout *>
321 typedef std::pair<const CXXRecordDecl *,
322 const CXXRecordDecl *> ClassPairTy;
332 void computeVTableRelatedInformation(const CXXRecordDecl *RD) override;
338 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
166 const CXXRecordDecl *Record,
167 CXXRecordDecl::BaseMatchesCallback *BaseMatches,
221 CXXRecordDecl *getOrigin() const { return Origin; } in getOrigin()
222 void setOrigin(CXXRecordDecl *Rec) { Origin = Rec; } in setOrigin()
239 const CXXRecordDecl *InVirtualSubobject) in UniqueVirtualMethod()
253 const CXXRecordDecl *InVirtualSubobject;
[all …]
DMangle.h149 virtual void mangleCXXVTable(const CXXRecordDecl *RD, raw_ostream &) = 0;
150 virtual void mangleCXXVTT(const CXXRecordDecl *RD, raw_ostream &) = 0;
151 virtual void mangleCXXCtorVTable(const CXXRecordDecl *RD, int64_t Offset,
152 const CXXRecordDecl *Type,
175 virtual void mangleCXXVFTable(const CXXRecordDecl *Derived,
176 ArrayRef<const CXXRecordDecl *> BasePath,
182 virtual void mangleCXXVBTable(const CXXRecordDecl *Derived,
183 ArrayRef<const CXXRecordDecl *> BasePath,
190 const CXXRecordDecl *Derived, uint32_t NVOffset, int32_t VBPtrOffset,
193 virtual void mangleCXXRTTIBaseClassArray(const CXXRecordDecl *Derived,
[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
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.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()
615 void addedClassSubobject(CXXRecordDecl *Base);
634 CXXRecordDecl(Kind K, TagKind TK, const ASTContext &C, DeclContext *DC,
636 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,
90 uint64_t getAddressPoint(BaseSubobject Base, const CXXRecordDecl *RD);
95 GenerateConstructionVTable(const CXXRecordDecl *RD, const BaseSubobject &Base,
102 llvm::GlobalVariable *GetAddrOfVTT(const CXXRecordDecl *RD);
107 const CXXRecordDecl *RD);
116 void GenerateClassData(const CXXRecordDecl *RD);
[all …]
DCGCXXABI.h32 class CXXRecordDecl; variable
117 bool canCopyArgument(const CXXRecordDecl *RD) const;
120 virtual RecordArgABI getRecordArgABI(const CXXRecordDecl *RD) const = 0;
236 const CXXRecordDecl *ClassDecl,
237 const CXXRecordDecl *BaseClassDecl) = 0;
254 const CXXRecordDecl *RD);
260 const CXXRecordDecl *RD) {} in initializeHiddenVirtualInheritanceMembers()
288 virtual const CXXRecordDecl *
343 const CXXRecordDecl *RD) = 0;
350 CodeGenFunction &CGF, const CXXRecordDecl *RD, BaseSubobject Base,
[all …]
DCGClass.cpp33 const CXXRecordDecl *DerivedClass, in ComputeNonVirtualBaseClassOffset()
38 const CXXRecordDecl *RD = DerivedClass; in ComputeNonVirtualBaseClassOffset()
47 const CXXRecordDecl *BaseDecl = in ComputeNonVirtualBaseClassOffset()
48 cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl()); in ComputeNonVirtualBaseClassOffset()
60 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl, in GetNonVirtualBaseClassOffset()
84 const CXXRecordDecl *Derived, in GetAddressOfDirectBaseInCompleteClass()
85 const CXXRecordDecl *Base, in GetAddressOfDirectBaseInCompleteClass()
139 const CXXRecordDecl *Derived, in GetAddressOfBaseClass()
146 const CXXRecordDecl *VBase = nullptr; in GetAddressOfBaseClass()
154 cast<CXXRecordDecl>((*Start)->getType()->getAs<RecordType>()->getDecl()); in GetAddressOfBaseClass()
[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 …]
/external/chromium_org/tools/clang/blink_gc_plugin/
DRecordInfo.h71 typedef std::map<clang::CXXRecordDecl*, BasePoint> Bases;
77 clang::CXXRecordDecl* record() const { return record_; } in record()
104 RecordInfo(clang::CXXRecordDecl* record, RecordCache* cache);
114 clang::CXXRecordDecl* record_;
139 RecordInfo* Lookup(clang::CXXRecordDecl* record);
141 RecordInfo* Lookup(const clang::CXXRecordDecl* record) { in Lookup()
142 return Lookup(const_cast<clang::CXXRecordDecl*>(record)); in Lookup()
146 return Lookup(clang::dyn_cast<clang::CXXRecordDecl>(decl)); in Lookup()
170 typedef std::map<clang::CXXRecordDecl*, RecordInfo> Cache;
DRecordInfo.cpp11 RecordInfo::RecordInfo(CXXRecordDecl* record, RecordCache* cache) in RecordInfo()
68 if (CXXRecordDecl* decl = (*it)->getAsCXXRecordDecl()) in IsHeapAllocatedCollection()
80 if (CXXRecordDecl* record = specifier->getType()->getAsCXXRecordDecl()) in IsGCBaseCallback()
112 CXXRecordDecl* base = elem.Base->getType()->getAsCXXRecordDecl(); in IsGCFinalized()
129 CXXRecordDecl* base = elem.Base->getType()->getAsCXXRecordDecl(); in IsGCMixin()
143 RecordInfo* RecordCache::Lookup(CXXRecordDecl* record) { in Lookup()
165 for (CXXRecordDecl::method_iterator it = record_->method_begin(); in IsStackAllocated()
183 for (CXXRecordDecl::method_iterator it = record_->method_begin(); in IsNonNewable()
200 for (CXXRecordDecl::method_iterator it = record_->method_begin(); in IsOnlyPlacementNewable()
217 for (CXXRecordDecl::method_iterator it = record_->method_begin(); in DeclaresNewOperator()
[all …]
/external/chromium_org/tools/clang/plugins/
DFindBadConstructsConsumer.h40 clang::CXXRecordDecl* record);
49 clang::CXXRecordDecl* record);
59 clang::CXXRecordDecl* record,
68 const clang::CXXRecordDecl* record,
80 clang::CXXRecordDecl* record);
83 clang::CXXRecordDecl* record);
DFindBadConstructsConsumer.cpp45 if (const CXXRecordDecl* cxx_r = type->getPointeeCXXRecordDecl()) in TypeHasNonTrivialDtor()
95 CXXRecordDecl* record) { in CheckChromeClass()
157 CXXRecordDecl* record) { in CheckCtorDtorWeight()
170 for (CXXRecordDecl::base_class_const_iterator it = record->bases_begin(); in CheckCtorDtorWeight()
219 for (CXXRecordDecl::ctor_iterator it = record->ctor_begin(); in CheckCtorDtorWeight()
342 CXXRecordDecl* record, in CheckVirtualMethods()
344 for (CXXRecordDecl::field_iterator it = record->field_begin(); in CheckVirtualMethods()
347 CXXRecordDecl* record_type = it->getTypeSourceInfo() in CheckVirtualMethods()
358 for (CXXRecordDecl::method_iterator it = record->method_begin(); in CheckVirtualMethods()
440 const CXXRecordDecl* record, in CheckRecordForRefcountIssue()
[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;

123456789