Home
last modified time | relevance | path

Searched refs:BaseDecl (Results 1 – 16 of 16) sorted by relevance

/external/clang/lib/AST/
DVTTBuilder.cpp64 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVTTs() local
69 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTTs()
72 LayoutVTT(BaseSubobject(BaseDecl, BaseOffset), /*BaseIsVirtual=*/false); in LayoutSecondaryVTTs()
90 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVirtualPointers() local
100 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVirtualPointers()
108 if (!VBases.insert(BaseDecl).second) in LayoutSecondaryVirtualPointers()
111 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers()
117 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers()
120 Layout.getPrimaryBase() == BaseDecl) in LayoutSecondaryVirtualPointers()
130 (BaseDecl->getNumVBases() || BaseDeclIsMorallyVirtual)) { in LayoutSecondaryVirtualPointers()
[all …]
DCXXInheritance.cpp89 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom() local
92 [this, BaseDecl](const CXXBaseSpecifier *Specifier, CXXBasePath &Path) { in isDerivedFrom()
93 return FindBaseClass(Specifier, Path, BaseDecl); in isDerivedFrom()
110 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom() local
113 [this, BaseDecl](const CXXBaseSpecifier *Specifier, CXXBasePath &Path) { in isVirtuallyDerivedFrom()
114 return FindVirtualBaseClass(Specifier, Path, BaseDecl); in isVirtuallyDerivedFrom()
485 const CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(RT->getDecl()); in Collect() local
486 if (!BaseDecl->isPolymorphic()) in Collect()
492 Collect(BaseDecl, false, InVirtualSubobject, Overriders); in Collect()
504 CXXFinalOverriderMap *&MyVirtualOverriders = VirtualOverriders[BaseDecl]; in Collect()
[all …]
DRecordLayoutBuilder.cpp189 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in ComputeEmptySubobjectSizes() local
192 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in ComputeEmptySubobjectSizes()
193 if (BaseDecl->isEmpty()) { in ComputeEmptySubobjectSizes()
394 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in CanPlaceFieldSubobjectAtOffset() local
396 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in CanPlaceFieldSubobjectAtOffset()
397 if (!CanPlaceFieldSubobjectAtOffset(BaseDecl, Class, BaseOffset)) in CanPlaceFieldSubobjectAtOffset()
500 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in UpdateEmptyFieldSubobjects() local
502 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects()
503 UpdateEmptyFieldSubobjects(BaseDecl, Class, BaseOffset); in UpdateEmptyFieldSubobjects()
921 const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl(); in ComputeBaseSubobjectInfo() local
[all …]
DVTableBuilder.cpp348 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in ComputeBaseOffsets() local
354 if (SubobjectOffsets.count(std::make_pair(BaseDecl, 0))) in ComputeBaseOffsets()
360 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in ComputeBaseOffsets()
362 LayoutClassLayout.getVBaseClassOffset(BaseDecl); in ComputeBaseOffsets()
365 CharUnits Offset = Layout.getBaseClassOffset(BaseDecl); in ComputeBaseOffsets()
371 ComputeBaseOffsets(BaseSubobject(BaseDecl, BaseOffset), in ComputeBaseOffsets()
384 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in dump() local
387 if (!BaseDecl->isPolymorphic()) in dump()
392 if (!VisitedVirtualBases.insert(BaseDecl).second) { in dump()
397 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in dump()
[all …]
DDeclCXX.cpp1385 CXXRecordDecl *BaseDecl in mayBeAbstract() local
1387 if (BaseDecl->isAbstract()) in mayBeAbstract()
DExprConstant.cpp1900 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in HandleLValueBase() local
1903 return HandleLValueDirectBase(Info, E, Obj, DerivedDecl, BaseDecl); in HandleLValueBase()
1917 Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl); in HandleLValueBase()
1918 Obj.addDecl(Info, E, BaseDecl, /*Virtual*/ true); in HandleLValueBase()
/external/clang/lib/CodeGen/
DCGRecordLayoutBuilder.cpp444 const CXXRecordDecl *BaseDecl = Layout.getPrimaryBase(); in accumulateBases() local
446 getStorageType(BaseDecl), BaseDecl)); in accumulateBases()
455 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateBases() local
456 if (!BaseDecl->isEmpty() && in accumulateBases()
457 !Context.getASTRecordLayout(BaseDecl).getNonVirtualSize().isZero()) in accumulateBases()
458 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl), in accumulateBases()
459 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl)); in accumulateBases()
481 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateVBases() local
482 if (BaseDecl->isEmpty()) in accumulateVBases()
486 if (Context.isNearlyEmpty(BaseDecl) && !hasOwnStorage(RD, BaseDecl)) in accumulateVBases()
[all …]
DCGClass.cpp161 const CXXRecordDecl *BaseDecl = in computeNonVirtualBaseClassOffset() local
165 Offset += Layout.getBaseClassOffset(BaseDecl); in computeNonVirtualBaseClassOffset()
167 RD = BaseDecl; in computeNonVirtualBaseClassOffset()
2389 CXXRecordDecl *BaseDecl in getVTablePointers() local
2393 if (!BaseDecl->isDynamicClass()) in getVTablePointers()
2402 if (!VBases.insert(BaseDecl).second) in getVTablePointers()
2408 BaseOffset = Layout.getVBaseClassOffset(BaseDecl); in getVTablePointers()
2414 BaseOffset = Base.getBaseOffset() + Layout.getBaseClassOffset(BaseDecl); in getVTablePointers()
2416 OffsetFromNearestVBase + Layout.getBaseClassOffset(BaseDecl); in getVTablePointers()
2417 BaseDeclIsNonVirtualPrimaryBase = Layout.getPrimaryBase() == BaseDecl; in getVTablePointers()
[all …]
DItaniumCXXABI.cpp2680 const CXXRecordDecl *BaseDecl = in CanUseSingleInheritance() local
2682 if (!BaseDecl->isEmpty() && in CanUseSingleInheritance()
2683 BaseDecl->isDynamicClass() != RD->isDynamicClass()) in CanUseSingleInheritance()
3116 const CXXRecordDecl *BaseDecl = in ComputeVMIClassTypeInfoFlags() local
3121 if (!Bases.VirtualBases.insert(BaseDecl).second) { in ComputeVMIClassTypeInfoFlags()
3126 if (Bases.NonVirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags()
3131 if (!Bases.NonVirtualBases.insert(BaseDecl).second) { in ComputeVMIClassTypeInfoFlags()
3136 if (Bases.VirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags()
3142 for (const auto &I : BaseDecl->bases()) in ComputeVMIClassTypeInfoFlags()
3205 const CXXRecordDecl *BaseDecl = in BuildVMIClassTypeInfo() local
[all …]
DMicrosoftCXXABI.cpp934 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in performBaseAdjustment() local
935 if (Context.getASTRecordLayout(BaseDecl).hasExtendableVFPtr()) { in performBaseAdjustment()
936 PolymorphicBase = BaseDecl; in performBaseAdjustment()
/external/clang/lib/StaticAnalyzer/Core/
DStore.cpp269 const CXXRecordDecl *BaseDecl = BaseType->getPointeeCXXRecordDecl(); in evalDerivedToBase() local
270 if (!BaseDecl) in evalDerivedToBase()
271 BaseDecl = BaseType->getAsCXXRecordDecl(); in evalDerivedToBase()
272 assert(BaseDecl && "not a C++ object?"); in evalDerivedToBase()
275 MRMgr.getCXXBaseObjectRegion(BaseDecl, DerivedRegVal->getRegion(), in evalDerivedToBase()
/external/clang/test/SemaCXX/
Dtypo-correction.cpp114 struct BaseDecl { struct
117 struct TestRedecl : public BaseDecl {
/external/clang/lib/Sema/
DSemaLookup.cpp2454 CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(BaseType->getDecl()); in addAssociatedClassesAndNamespaces() local
2455 if (Result.Classes.insert(BaseDecl).second) { in addAssociatedClassesAndNamespaces()
2457 DeclContext *BaseCtx = BaseDecl->getDeclContext(); in addAssociatedClassesAndNamespaces()
2461 if (BaseDecl->bases_begin() != BaseDecl->bases_end()) in addAssociatedClassesAndNamespaces()
2462 Bases.push_back(BaseDecl); in addAssociatedClassesAndNamespaces()
DSemaDeclCXX.cpp1379 if (CXXRecordDecl *BaseDecl = BaseType->getAsCXXRecordDecl()) { in CheckBaseSpecifier() local
1380 if (BaseDecl->getCanonicalDecl() == Class->getCanonicalDecl() || in CheckBaseSpecifier()
1381 ((BaseDecl = BaseDecl->getDefinition()) && in CheckBaseSpecifier()
1382 findCircularInheritance(Class, BaseDecl))) { in CheckBaseSpecifier()
1386 if (BaseDecl->getCanonicalDecl() != Class->getCanonicalDecl()) in CheckBaseSpecifier()
1387 Diag(BaseDecl->getLocation(), diag::note_previous_decl) in CheckBaseSpecifier()
1433 RecordDecl *BaseDecl = BaseType->getAs<RecordType>()->getDecl(); in CheckBaseSpecifier() local
1434 assert(BaseDecl && "Record type has no declaration"); in CheckBaseSpecifier()
1435 BaseDecl = BaseDecl->getDefinition(); in CheckBaseSpecifier()
1436 assert(BaseDecl && "Base type is not incomplete, but has no definition"); in CheckBaseSpecifier()
[all …]
DSemaExprCXX.cpp693 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in collectPublicBases() local
698 NewSubobject = VBases.insert(BaseDecl).second; in collectPublicBases()
703 ++SubobjectsSeen[BaseDecl]; in collectPublicBases()
708 PublicSubobjectsSeen.insert(BaseDecl); in collectPublicBases()
711 collectPublicBases(BaseDecl, SubobjectsSeen, VBases, PublicSubobjectsSeen, in collectPublicBases()
DSemaInit.cpp7147 RecordDecl *BaseDecl in Diagnose() local
7150 S.Diag(BaseDecl->getLocation(), diag::note_previous_decl) in Diagnose()
7151 << S.Context.getTagDeclType(BaseDecl); in Diagnose()