/llvm-project/clang/lib/AST/ |
H A D | VTTBuilder.cpp | 66 const auto *BaseDecl = in LayoutSecondaryVTTs() 71 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTTs() 74 LayoutVTT(BaseSubobject(BaseDecl, BaseOffset), /*BaseIsVirtual=*/false); in LayoutSecondaryVTTs() 92 const auto *BaseDecl = in LayoutSecondaryVirtualPointers() 102 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVirtualPointers() 110 if (!VBases.insert(BaseDecl).second) in LayoutSecondaryVirtualPointers() 113 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers() 119 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers() 122 Layout.getPrimaryBase() == BaseDecl) in LayoutSecondaryVirtualPointers() 132 (BaseDecl in LayoutSecondaryVirtualPointers() 67 const auto *BaseDecl = LayoutSecondaryVTTs() local 93 const auto *BaseDecl = LayoutSecondaryVirtualPointers() local 157 const auto *BaseDecl = LayoutVirtualVTTs() local [all...] |
H A D | CXXInheritance.cpp | 79 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom() 81 [BaseDecl](const CXXBaseSpecifier *Specifier, CXXBasePath &Path) { in isDerivedFrom() 83 FindBaseClass(Specifier, Path, BaseDecl); in isDerivedFrom() 100 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom() 102 [BaseDecl](const CXXBaseSpecifier *Specifier, CXXBasePath &Path) { in isVirtuallyDerivedFrom() 103 return FindVirtualBaseClass(Specifier, Path, BaseDecl); in isVirtuallyDerivedFrom() 525 const CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(RT->getDecl()); in Collect() 526 if (!BaseDecl->isPolymorphic()) in Collect() 532 Collect(BaseDecl, false, InVirtualSubobject, Overriders); in Collect() 544 CXXFinalOverriderMap *&MyVirtualOverriders = VirtualOverriders[BaseDecl]; in Collect() 80 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); isDerivedFrom() local 101 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); isVirtuallyDerivedFrom() local 522 const CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(RT->getDecl()); Collect() local 691 const CXXRecordDecl *BaseDecl = AddIndirectPrimaryBases() local 713 const CXXRecordDecl *BaseDecl = getIndirectPrimaryBases() local [all...] |
H A D | RecordLayoutBuilder.cpp | 189 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in ComputeEmptySubobjectSizes() 192 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in ComputeEmptySubobjectSizes() 193 if (BaseDecl->isEmpty()) { in ComputeEmptySubobjectSizes() 390 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in CanPlaceFieldSubobjectAtOffset() 392 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in CanPlaceFieldSubobjectAtOffset() 393 if (!CanPlaceFieldSubobjectAtOffset(BaseDecl, Class, BaseOffset)) in CanPlaceFieldSubobjectAtOffset() 497 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in UpdateEmptyFieldSubobjects() 499 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects() 500 UpdateEmptyFieldSubobjects(BaseDecl, Class, BaseOffset, in UpdateEmptyFieldSubobjects() 959 const CXXRecordDecl *BaseDecl in ComputeBaseSubobjectInfo() 190 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); ComputeEmptySubobjectSizes() local 395 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); CanPlaceFieldSubobjectAtOffset() local 506 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); UpdateEmptyFieldSubobjects() local 971 const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl(); ComputeBaseSubobjectInfo() local 996 const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl(); ComputeBaseSubobjectInfo() local 1090 const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl(); LayoutNonVirtualBases() local 1169 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); LayoutVirtualBases() local 1416 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); Layout() local 1423 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); Layout() local 2843 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); layoutNonVirtualBases() local 2892 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); layoutNonVirtualBases() local 2934 layoutNonVirtualBase(const CXXRecordDecl * RD,const CXXRecordDecl * BaseDecl,const ASTRecordLayout & BaseLayout,const ASTRecordLayout * & PreviousBaseLayout) layoutNonVirtualBase() argument 3169 const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl(); layoutVirtualBases() local 3181 const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl(); layoutVirtualBases() local 3272 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); computeVtorDispSet() local 3283 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); computeVtorDispSet() local 3324 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); computeVtorDispSet() local [all...] |
H A D | VTableBuilder.cpp | 348 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() 738 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); AddVCallOffsets() local 759 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); AddVBaseOffsets() local 1801 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); LayoutSecondaryVTables() local 1875 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); DeterminePrimaryVirtualBases() local 1904 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); LayoutVTablesForVirtualBases() local [all...] |
H A D | DeclCXX.cpp | 2240 const auto *BaseDecl = in getCorrespondingMethodInClass() 2242 if (BaseDecl->isAbstract()) in getCorrespondingMethodInClass() 2105 const auto *BaseDecl = mayBeAbstract() local
|
H A D | ExprConstant.cpp | 3294 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); 3297 return HandleLValueDirectBase(Info, E, Obj, DerivedDecl, BaseDecl); 3311 Obj.addDecl(Info, E, BaseDecl, /*Virtual*/ true); in evaluateVarDeclInit() 3312 Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl); in evaluateVarDeclInit() 7351 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in visit() 7354 Layout.getBaseClassOffset(BaseDecl) + Offset)) in visit() 7618 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in handleLValueToRValueBitCast() 7621 BS.getType(), Layout.getBaseClassOffset(BaseDecl) + Offset); in handleLValueToRValueBitCast() 3142 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); HandleLValueBase() local 7089 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); visitRecord() local 7356 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); visit() local
|
/llvm-project/clang-tools-extra/clang-tidy/cppcoreguidelines/ |
H A D | SlicingCheck.cpp | 77 const CXXRecordDecl &BaseDecl) { in diagnoseSlicedOverriddenMethods() argument 78 if (DerivedDecl.getCanonicalDecl() == BaseDecl.getCanonicalDecl()) in diagnoseSlicedOverriddenMethods() 88 << &DerivedDecl << &BaseDecl << Method; in diagnoseSlicedOverriddenMethods() 96 diagnoseSlicedOverriddenMethods(Call, *BaseRecord, BaseDecl); in diagnoseSlicedOverriddenMethods() 102 const auto *BaseDecl = Result.Nodes.getNodeAs<CXXRecordDecl>("BaseDecl"); in check() local 106 assert(BaseDecl != nullptr); in check() 119 diagnoseSlicedOverriddenMethods(*Call, *DerivedDecl, *BaseDecl); in check() 123 BaseDecl->getASTContext().getASTRecordLayout(BaseDecl); in check() 131 << DerivedDecl << BaseDecl << static_cast<int>(StateSize.getQuantity()); in check()
|
H A D | SlicingCheck.h | 35 const CXXRecordDecl &BaseDecl);
|
/llvm-project/clang/lib/CodeGen/ |
H A D | CGRecordLayoutBuilder.cpp | 723 const CXXRecordDecl *BaseDecl = Layout.getPrimaryBase(); in accumulateBases() local 725 getStorageType(BaseDecl), BaseDecl)); in accumulateBases() 734 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateBases() local 736 !Context.getASTRecordLayout(BaseDecl).getNonVirtualSize().isZero()) in accumulateBases() 737 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl), in accumulateBases() 738 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl)); in accumulateBases() 882 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in calculateTailClippingOffset() local 887 if (Context.isNearlyEmpty(BaseDecl) in calculateTailClippingOffset() 898 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); accumulateVBases() local [all...] |
H A D | CGClass.cpp | 187 const auto *BaseDecl = in computeNonVirtualBaseClassOffset() local 191 Offset += Layout.getBaseClassOffset(BaseDecl); in computeNonVirtualBaseClassOffset() 193 RD = BaseDecl; in computeNonVirtualBaseClassOffset() 2631 auto *BaseDecl = in getVTablePointers() 2635 if (!BaseDecl->isDynamicClass()) in getVTablePointers() local 2644 if (!VBases.insert(BaseDecl).second) in getVTablePointers() 2650 BaseOffset = Layout.getVBaseClassOffset(BaseDecl); in getVTablePointers() 2656 BaseOffset = Base.getBaseOffset() + Layout.getBaseClassOffset(BaseDecl); in getVTablePointers() 2658 OffsetFromNearestVBase + Layout.getBaseClassOffset(BaseDecl); in getVTablePointers() 2659 BaseDeclIsNonVirtualPrimaryBase = Layout.getPrimaryBase() == BaseDecl; in getVTablePointers() [all...] |
H A D | ItaniumCXXABI.cpp | 3828 auto *BaseDecl = in BuildTypeInfo() 3830 if (!BaseDecl->isEmpty() && in BuildTypeInfo() 3831 BaseDecl->isDynamicClass() != RD->isDynamicClass()) in BuildTypeInfo() 4346 auto *BaseDecl = in classifyRTTIUniqueness() 4351 if (!Bases.VirtualBases.insert(BaseDecl).second) { in classifyRTTIUniqueness() 4356 if (Bases.NonVirtualBases.count(BaseDecl)) in classifyRTTIUniqueness() 4361 if (!Bases.NonVirtualBases.insert(BaseDecl).second) { in classifyRTTIUniqueness() 4366 if (Bases.VirtualBases.count(BaseDecl)) 4372 for (const auto &I : BaseDecl->bases()) in getCodegenToUse() 4446 auto *BaseDecl in emitCXXStructor() 3579 auto *BaseDecl = CanUseSingleInheritance() local 4086 auto *BaseDecl = ComputeVMIClassTypeInfoFlags() local 4186 auto *BaseDecl = BuildVMIClassTypeInfo() local 4448 GlobalDecl BaseDecl; emitCXXStructor() local [all...] |
H A D | MicrosoftCXXABI.cpp | 958 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in performBaseAdjustment() 959 if (Context.getASTRecordLayout(BaseDecl).hasExtendableVFPtr()) { in performBaseAdjustment() 960 PolymorphicBase = BaseDecl; in performBaseAdjustment() 964 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); performBaseAdjustment() local
|
H A D | CGExpr.cpp | 4089 if (const auto *BaseDecl = PointeeType->getAsRecordDecl()) in emitArraySubscriptGEP() 4090 return hasBPFPreserveStaticOffset(BaseDecl); in emitArraySubscriptGEP() 3992 if (const auto *BaseDecl = PointeeType->getAsRecordDecl()) hasBPFPreserveStaticOffset() local
|
/llvm-project/clang/lib/AST/Interp/ |
H A D | Context.cpp |
|
H A D | MemberPointer.cpp |
|
H A D | Context.h |
|
H A D | Compiler.cpp |
|
/llvm-project/clang-tools-extra/clang-tidy/bugprone/ |
H A D | ParentVirtualCallCheck.cpp | 30 auto *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in isParentOf() local 31 assert(BaseDecl); in isParentOf() 32 return ParentCanonicalDecl == BaseDecl->getCanonicalDecl(); in isParentOf() 41 const auto *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in getParentsByGrandParent() local 43 MemberDecl.getCorrespondingMethodInClass(BaseDecl); in getParentsByGrandParent()
|
/llvm-project/clang/lib/StaticAnalyzer/Core/ |
H A D | Store.cpp | 281 const CXXRecordDecl *BaseDecl = BaseType->getPointeeCXXRecordDecl(); in evalDerivedToBase() local 282 if (!BaseDecl) in evalDerivedToBase() 283 BaseDecl = BaseType->getAsCXXRecordDecl(); in evalDerivedToBase() 284 assert(BaseDecl && "not a C++ object?"); in evalDerivedToBase() 290 if (SR->getSymbol()->getType()->getPointeeCXXRecordDecl() == BaseDecl) in evalDerivedToBase() 297 BaseDecl, cast<SubRegion>(DerivedReg), IsVirtual); in evalDerivedToBase()
|
/llvm-project/clang/test/SemaCXX/ |
H A D | typo-correction.cpp | 115 struct BaseDecl { struct 118 struct TestRedecl : public BaseDecl {
|
/llvm-project/clang/lib/Sema/ |
H A D | SemaLookup.cpp | 3098 CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(BaseType->getDecl()); in addAssociatedClassesAndNamespaces() 3099 if (Result.addClassTransitive(BaseDecl)) { in addAssociatedClassesAndNamespaces() 3101 DeclContext *BaseCtx = BaseDecl->getDeclContext(); in addAssociatedClassesAndNamespaces() 3105 if (BaseDecl->bases_begin() != BaseDecl->bases_end()) in addAssociatedClassesAndNamespaces() 3106 Bases.push_back(BaseDecl); in addAssociatedClassesAndNamespaces() 3037 CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(BaseType->getDecl()); addAssociatedClassesAndNamespaces() local
|
H A D | SemaDeclCXX.cpp | 2695 auto *BaseDecl = in CheckBaseSpecifier() 2701 if (BaseDecl) { in CheckBaseSpecifier() 2704 if (BaseDecl->isUnion()) { in CheckBaseSpecifier() 2723 dyn_cast<ClassTemplateSpecializationDecl>(BaseDecl)) { in CheckBaseSpecifier() 2736 BaseDecl = BaseDecl->getDefinition(); in CheckBaseSpecifier() 2737 assert(BaseDecl && "Base type is not incomplete, but has no definition"); in CheckBaseSpecifier() 2742 const auto *BaseCSA = BaseDecl->getAttr<CodeSegAttr>(); in CheckBaseSpecifier() 2748 Diag(BaseDecl->getLocation(), diag::note_base_class_specified_here) in CheckBaseSpecifier() 2749 << BaseDecl; in CheckBaseSpecifier() 2652 auto *BaseDecl = CheckBaseSpecifier() local [all...] |
H A D | SemaChecking.cpp | 1557 const auto *BaseDecl = in checkPointerAuthValue() 1559 if (!BaseDecl) in checkPointerAuthValue() 1562 return {BaseDecl, Result.Val.getLValueOffset()}; in checkPointerAuthValue() 1627 auto [BaseDecl, Offset] = findConstantBaseAndOffset(S, Arg); in checkPointerAuthValue() 1631 if (!BaseDecl) in checkPointerAuthValue() 1635 else if (isa<FunctionDecl>(BaseDecl)) in checkPointerAuthValue() 1675 auto [BaseDecl, Offset] = findConstantBaseAndOffset(S, Pointer); in checkPointerAuthValue() 1676 if (!BaseDecl || !isa<VarDecl>(BaseDecl)) in checkPointerAuthValue() 13198 const CXXRecordDecl *BaseDecl in CheckArrayAccess() 1546 const auto *BaseDecl = findConstantBaseAndOffset() local 12801 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); getDerivedToBaseAlignmentAndOffset() local [all...] |
H A D | SemaExprCXX.cpp | 944 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in collectPublicBases() 949 NewSubobject = VBases.insert(BaseDecl).second; in collectPublicBases() 954 ++SubobjectsSeen[BaseDecl]; in collectPublicBases() 959 PublicSubobjectsSeen.insert(BaseDecl); 962 collectPublicBases(BaseDecl, SubobjectsSeen, VBases, PublicSubobjectsSeen, in getUnambiguousPublicSubobjects() 937 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); collectPublicBases() local
|
H A D | SemaInit.cpp | 9091 RecordDecl *BaseDecl in dump() 9094 S.Diag(BaseDecl->getLocation(), diag::note_previous_decl) in dump() 9095 << S.Context.getTagDeclType(BaseDecl); in dump() 8923 RecordDecl *BaseDecl Diagnose() local
|