Home
last modified time | relevance | path

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

/llvm-project-15.0.7/clang/lib/AST/
H A DVTTBuilder.cpp67 const auto *BaseDecl = in LayoutSecondaryVTTs() local
72 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTTs()
93 const auto *BaseDecl = in LayoutSecondaryVirtualPointers() local
103 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVirtualPointers()
111 if (!VBases.insert(BaseDecl).second) in LayoutSecondaryVirtualPointers()
120 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers()
123 Layout.getPrimaryBase() == BaseDecl) in LayoutSecondaryVirtualPointers()
157 const auto *BaseDecl = in LayoutVirtualVTTs() local
163 if (!VBases.insert(BaseDecl).second) in LayoutVirtualVTTs()
174 if (BaseDecl->getNumVBases()) in LayoutVirtualVTTs()
[all …]
H A DCXXInheritance.cpp81 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom() local
84 return FindBaseClass(Specifier, Path, BaseDecl); in isDerivedFrom()
101 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom() local
523 if (!BaseDecl->isPolymorphic()) in Collect()
551 Collect(BaseDecl, true, BaseDecl, *MyVirtualOverriders); in Collect()
691 const CXXRecordDecl *BaseDecl = in AddIndirectPrimaryBases() local
696 if (BaseDecl->getNumVBases()) in AddIndirectPrimaryBases()
697 AddIndirectPrimaryBases(BaseDecl, Context, Bases); in AddIndirectPrimaryBases()
713 const CXXRecordDecl *BaseDecl = in getIndirectPrimaryBases() local
718 if (BaseDecl->getNumVBases()) in getIndirectPrimaryBases()
[all …]
H A DRecordLayoutBuilder.cpp194 if (BaseDecl->isEmpty()) { in ComputeEmptySubobjectSizes()
997 assert(VirtualBaseInfo.count(BaseDecl) && in ComputeBaseSubobjectInfo()
1181 if (!BaseDecl->getNumVBases()) { in LayoutVirtualBases()
2811 SharedVBPtrBase = BaseDecl; in layoutNonVirtualBases()
2819 PrimaryBase = BaseDecl; in layoutNonVirtualBases()
2893 const CXXRecordDecl *BaseDecl, in layoutNonVirtualBase() argument
2917 if (MDCUsesEBO && BaseDecl->isEmpty()) { in layoutNonVirtualBase()
3138 VBases.insert(std::make_pair(BaseDecl, in layoutVirtualBases()
3205 HasVtordispSet.insert(BaseDecl); in computeVtorDispSet()
3255 if (!HasVtordispSet.count(BaseDecl) && in computeVtorDispSet()
[all …]
H A DVTableBuilder.cpp387 if (!BaseDecl->isPolymorphic()) in dump()
734 if (BaseDecl == PrimaryBase) in AddVCallOffsets()
739 Layout.getBaseClassOffset(BaseDecl); in AddVCallOffsets()
1754 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVTables()
1776 if (BaseDecl == PrimaryBase) { in LayoutSecondaryVTables()
1784 BaseSubobject(BaseDecl, BaseOffset), in LayoutSecondaryVTables()
1830 if (!VBases.insert(BaseDecl).second) in DeterminePrimaryVirtualBases()
1859 !PrimaryVirtualBases.count(BaseDecl) && in LayoutVTablesForVirtualBases()
1860 VBases.insert(BaseDecl).second) { in LayoutVTablesForVirtualBases()
1872 BaseSubobject(BaseDecl, BaseOffset), in LayoutVTablesForVirtualBases()
[all …]
H A DDeclCXX.cpp2033 const auto *BaseDecl = in mayBeAbstract() local
2035 if (BaseDecl->isAbstract()) in mayBeAbstract()
H A DExprConstant.cpp3086 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in HandleLValueBase() local
3089 return HandleLValueDirectBase(Info, E, Obj, DerivedDecl, BaseDecl); in HandleLValueBase()
3103 Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl); in HandleLValueBase()
3104 Obj.addDecl(Info, E, BaseDecl, /*Virtual*/ true); in HandleLValueBase()
6936 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in visitRecord() local
6939 Layout.getBaseClassOffset(BaseDecl) + Offset)) in visitRecord()
7137 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in visit() local
7138 if (BaseDecl->isEmpty() || in visit()
7139 Info.Ctx.getASTRecordLayout(BaseDecl).getNonVirtualSize().isZero()) in visit()
7143 BS.getType(), Layout.getBaseClassOffset(BaseDecl) + Offset); in visit()
/llvm-project-15.0.7/clang-tools-extra/clang-tidy/cppcoreguidelines/
H A DSlicingCheck.cpp76 const CXXRecordDecl &BaseDecl) { in diagnoseSlicedOverriddenMethods() argument
77 if (DerivedDecl.getCanonicalDecl() == BaseDecl.getCanonicalDecl()) in diagnoseSlicedOverriddenMethods()
87 << &DerivedDecl << &BaseDecl << Method; in diagnoseSlicedOverriddenMethods()
95 diagnoseSlicedOverriddenMethods(Call, *BaseRecord, BaseDecl); in diagnoseSlicedOverriddenMethods()
101 const auto *BaseDecl = Result.Nodes.getNodeAs<CXXRecordDecl>("BaseDecl"); in check() local
105 assert(BaseDecl != nullptr); in check()
118 diagnoseSlicedOverriddenMethods(*Call, *DerivedDecl, *BaseDecl); in check()
122 BaseDecl->getASTContext().getASTRecordLayout(BaseDecl); in check()
130 << DerivedDecl << BaseDecl << static_cast<int>(StateSize.getQuantity()); in check()
H A DSlicingCheck.h37 const CXXRecordDecl &BaseDecl);
/llvm-project-15.0.7/clang/lib/CodeGen/
H A DCGRecordLayoutBuilder.cpp512 const CXXRecordDecl *BaseDecl = Layout.getPrimaryBase(); in accumulateBases() local
514 getStorageType(BaseDecl), BaseDecl)); in accumulateBases()
524 if (!BaseDecl->isEmpty() && in accumulateBases()
527 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl)); in accumulateBases()
667 if (BaseDecl->isEmpty()) in accumulateVBases()
671 if (Context.isNearlyEmpty(BaseDecl) && !hasOwnStorage(RD, BaseDecl)) in accumulateVBases()
680 if (BaseDecl->isEmpty()) in accumulateVBases()
686 Context.isNearlyEmpty(BaseDecl) && in accumulateVBases()
687 !hasOwnStorage(RD, BaseDecl)) { in accumulateVBases()
689 BaseDecl)); in accumulateVBases()
[all …]
H A DCGClass.cpp184 const auto *BaseDecl = in computeNonVirtualBaseClassOffset() local
188 Offset += Layout.getBaseClassOffset(BaseDecl); in computeNonVirtualBaseClassOffset()
190 RD = BaseDecl; in computeNonVirtualBaseClassOffset()
2590 auto *BaseDecl = in getVTablePointers() local
2594 if (!BaseDecl->isDynamicClass()) in getVTablePointers()
2603 if (!VBases.insert(BaseDecl).second) in getVTablePointers()
2609 BaseOffset = Layout.getVBaseClassOffset(BaseDecl); in getVTablePointers()
2617 OffsetFromNearestVBase + Layout.getBaseClassOffset(BaseDecl); in getVTablePointers()
2618 BaseDeclIsNonVirtualPrimaryBase = Layout.getPrimaryBase() == BaseDecl; in getVTablePointers()
2622 BaseSubobject(BaseDecl, BaseOffset), in getVTablePointers()
[all …]
H A DItaniumCXXABI.cpp3443 auto *BaseDecl = in CanUseSingleInheritance() local
3445 if (!BaseDecl->isEmpty() && in CanUseSingleInheritance()
3944 auto *BaseDecl = in ComputeVMIClassTypeInfoFlags() local
3954 if (Bases.NonVirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags()
3964 if (Bases.VirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags()
3970 for (const auto &I : BaseDecl->bases()) in ComputeVMIClassTypeInfoFlags()
4043 auto *BaseDecl = in BuildVMIClassTypeInfo() local
4058 Offset = Layout.getBaseClassOffset(BaseDecl); in BuildVMIClassTypeInfo()
4305 GlobalDecl BaseDecl; in emitCXXStructor() local
4307 BaseDecl = GD.getWithCtorType(Ctor_Base); in emitCXXStructor()
[all …]
H A DMicrosoftCXXABI.cpp941 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in performBaseAdjustment() local
942 if (Context.getASTRecordLayout(BaseDecl).hasExtendableVFPtr()) { in performBaseAdjustment()
943 PolymorphicBase = BaseDecl; in performBaseAdjustment()
H A DCGOpenMPRuntime.cpp7571 const ValueDecl *BaseDecl = nullptr, const Expr *MapExpr = nullptr, in generateInfoForComponentList() argument
7884 : BaseDecl; in generateInfoForComponentList()
/llvm-project-15.0.7/clang-tools-extra/clang-tidy/bugprone/
H A DParentVirtualCallCheck.cpp33 auto *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in isParentOf() local
34 assert(BaseDecl); in isParentOf()
35 return ParentCanonicalDecl == BaseDecl->getCanonicalDecl(); in isParentOf()
44 const auto *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in getParentsByGrandParent() local
46 MemberDecl.getCorrespondingMethodInClass(BaseDecl); in getParentsByGrandParent()
/llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/
H A DStore.cpp282 const CXXRecordDecl *BaseDecl = BaseType->getPointeeCXXRecordDecl(); in evalDerivedToBase() local
283 if (!BaseDecl) in evalDerivedToBase()
284 BaseDecl = BaseType->getAsCXXRecordDecl(); in evalDerivedToBase()
285 assert(BaseDecl && "not a C++ object?"); in evalDerivedToBase()
291 if (SR->getSymbol()->getType()->getPointeeCXXRecordDecl() == BaseDecl) in evalDerivedToBase()
298 BaseDecl, cast<SubRegion>(DerivedReg), IsVirtual); in evalDerivedToBase()
/llvm-project-15.0.7/clang/test/SemaCXX/
H A Dtypo-correction.cpp115 struct BaseDecl { struct
118 struct TestRedecl : public BaseDecl {
/llvm-project-15.0.7/clang/lib/Sema/
H A DSemaLookup.cpp3046 CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(BaseType->getDecl()); in addAssociatedClassesAndNamespaces() local
3047 if (Result.addClassTransitive(BaseDecl)) { in addAssociatedClassesAndNamespaces()
3049 DeclContext *BaseCtx = BaseDecl->getDeclContext(); in addAssociatedClassesAndNamespaces()
3053 if (BaseDecl->bases_begin() != BaseDecl->bases_end()) in addAssociatedClassesAndNamespaces()
3054 Bases.push_back(BaseDecl); in addAssociatedClassesAndNamespaces()
H A DSemaDeclCXX.cpp2535 if (CXXRecordDecl *BaseDecl = BaseType->getAsCXXRecordDecl()) { in CheckBaseSpecifier() local
2536 if (BaseDecl->getCanonicalDecl() == Class->getCanonicalDecl() || in CheckBaseSpecifier()
2537 ((BaseDecl = BaseDecl->getDefinition()) && in CheckBaseSpecifier()
2538 findCircularInheritance(Class, BaseDecl))) { in CheckBaseSpecifier()
2542 if (BaseDecl->getCanonicalDecl() != Class->getCanonicalDecl()) in CheckBaseSpecifier()
2543 Diag(BaseDecl->getLocation(), diag::note_previous_decl) in CheckBaseSpecifier()
2597 RecordDecl *BaseDecl = BaseType->castAs<RecordType>()->getDecl(); in CheckBaseSpecifier() local
2598 assert(BaseDecl && "Record type has no declaration"); in CheckBaseSpecifier()
2599 BaseDecl = BaseDecl->getDefinition(); in CheckBaseSpecifier()
2601 CXXRecordDecl *CXXBaseDecl = cast<CXXRecordDecl>(BaseDecl); in CheckBaseSpecifier()
[all …]
H A DSemaExprCXX.cpp922 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in collectPublicBases() local
927 NewSubobject = VBases.insert(BaseDecl).second; in collectPublicBases()
932 ++SubobjectsSeen[BaseDecl]; in collectPublicBases()
937 PublicSubobjectsSeen.insert(BaseDecl); in collectPublicBases()
940 collectPublicBases(BaseDecl, SubobjectsSeen, VBases, PublicSubobjectsSeen, in collectPublicBases()
H A DSemaInit.cpp9388 RecordDecl *BaseDecl in Diagnose() local
9391 S.Diag(BaseDecl->getLocation(), diag::note_previous_decl) in Diagnose()
9392 << S.Context.getTagDeclType(BaseDecl); in Diagnose()
H A DSemaChecking.cpp15567 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in getDerivedToBaseAlignmentAndOffset() local
15574 Ctx.getASTRecordLayout(BaseDecl).getNonVirtualAlignment(); in getDerivedToBaseAlignmentAndOffset()
15580 Offset += RL.getBaseClassOffset(BaseDecl); in getDerivedToBaseAlignmentAndOffset()