| /llvm-project-15.0.7/clang/lib/AST/ |
| H A D | VTTBuilder.cpp | 67 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 D | CXXInheritance.cpp | 81 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 D | RecordLayoutBuilder.cpp | 194 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 D | VTableBuilder.cpp | 387 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 D | DeclCXX.cpp | 2033 const auto *BaseDecl = in mayBeAbstract() local 2035 if (BaseDecl->isAbstract()) in mayBeAbstract()
|
| H A D | ExprConstant.cpp | 3086 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 D | SlicingCheck.cpp | 76 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 D | SlicingCheck.h | 37 const CXXRecordDecl &BaseDecl);
|
| /llvm-project-15.0.7/clang/lib/CodeGen/ |
| H A D | CGRecordLayoutBuilder.cpp | 512 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 D | CGClass.cpp | 184 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 D | ItaniumCXXABI.cpp | 3443 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 D | MicrosoftCXXABI.cpp | 941 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in performBaseAdjustment() local 942 if (Context.getASTRecordLayout(BaseDecl).hasExtendableVFPtr()) { in performBaseAdjustment() 943 PolymorphicBase = BaseDecl; in performBaseAdjustment()
|
| H A D | CGOpenMPRuntime.cpp | 7571 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 D | ParentVirtualCallCheck.cpp | 33 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 D | Store.cpp | 282 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 D | typo-correction.cpp | 115 struct BaseDecl { struct 118 struct TestRedecl : public BaseDecl {
|
| /llvm-project-15.0.7/clang/lib/Sema/ |
| H A D | SemaLookup.cpp | 3046 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 D | SemaDeclCXX.cpp | 2535 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 D | SemaExprCXX.cpp | 922 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 D | SemaInit.cpp | 9388 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 D | SemaChecking.cpp | 15567 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in getDerivedToBaseAlignmentAndOffset() local 15574 Ctx.getASTRecordLayout(BaseDecl).getNonVirtualAlignment(); in getDerivedToBaseAlignmentAndOffset() 15580 Offset += RL.getBaseClassOffset(BaseDecl); in getDerivedToBaseAlignmentAndOffset()
|