Home
last modified time | relevance | path

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

12

/llvm-project/clang/lib/AST/
H A DVTTBuilder.cpp66 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 DCXXInheritance.cpp79 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 DRecordLayoutBuilder.cpp189 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 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()
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 DDeclCXX.cpp2240 const auto *BaseDecl = in getCorrespondingMethodInClass()
2242 if (BaseDecl->isAbstract()) in getCorrespondingMethodInClass()
2105 const auto *BaseDecl = mayBeAbstract() local
H A DExprConstant.cpp3294 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 DSlicingCheck.cpp77 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 DSlicingCheck.h35 const CXXRecordDecl &BaseDecl);
/llvm-project/clang/lib/CodeGen/
H A DCGRecordLayoutBuilder.cpp723 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 DCGClass.cpp187 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 DItaniumCXXABI.cpp3828 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 DMicrosoftCXXABI.cpp958 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 DCGExpr.cpp4089 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 DContext.cpp
H A DMemberPointer.cpp
H A DContext.h
H A DCompiler.cpp
/llvm-project/clang-tools-extra/clang-tidy/bugprone/
H A DParentVirtualCallCheck.cpp30 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 DStore.cpp281 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 Dtypo-correction.cpp115 struct BaseDecl { struct
118 struct TestRedecl : public BaseDecl {
/llvm-project/clang/lib/Sema/
H A DSemaLookup.cpp3098 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 DSemaDeclCXX.cpp2695 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 DSemaChecking.cpp1557 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 DSemaExprCXX.cpp944 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 DSemaInit.cpp9091 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

12