| /openbsd-src/gnu/llvm/clang/lib/AST/ |
| H A D | VTTBuilder.cpp | 67 const auto *BaseDecl = in LayoutSecondaryVTTs() local 72 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTTs() 75 LayoutVTT(BaseSubobject(BaseDecl, BaseOffset), /*BaseIsVirtual=*/false); in LayoutSecondaryVTTs() 93 const auto *BaseDecl = in LayoutSecondaryVirtualPointers() local 103 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVirtualPointers() 111 if (!VBases.insert(BaseDecl).second) in LayoutSecondaryVirtualPointers() 114 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers() 120 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers() 123 Layout.getPrimaryBase() == BaseDecl) in LayoutSecondaryVirtualPointers() 133 (BaseDecl->getNumVBases() || BaseDeclIsMorallyVirtual)) { in LayoutSecondaryVirtualPointers() [all …]
|
| H A D | CXXInheritance.cpp | 80 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isDerivedFrom() local 82 [BaseDecl](const CXXBaseSpecifier *Specifier, CXXBasePath &Path) { in isDerivedFrom() 83 return FindBaseClass(Specifier, Path, BaseDecl); in isDerivedFrom() 100 const CXXRecordDecl *BaseDecl = Base->getCanonicalDecl(); in isVirtuallyDerivedFrom() local 102 [BaseDecl](const CXXBaseSpecifier *Specifier, CXXBasePath &Path) { in isVirtuallyDerivedFrom() 103 return FindVirtualBaseClass(Specifier, Path, BaseDecl); in isVirtuallyDerivedFrom() 521 const CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(RT->getDecl()); in Collect() local 522 if (!BaseDecl->isPolymorphic()) in Collect() 528 Collect(BaseDecl, false, InVirtualSubobject, Overriders); in Collect() 540 CXXFinalOverriderMap *&MyVirtualOverriders = VirtualOverriders[BaseDecl]; in Collect() [all …]
|
| H A D | RecordLayoutBuilder.cpp | 190 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in ComputeEmptySubobjectSizes() local 193 const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl); in ComputeEmptySubobjectSizes() 194 if (BaseDecl->isEmpty()) { in ComputeEmptySubobjectSizes() 395 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in CanPlaceFieldSubobjectAtOffset() local 397 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in CanPlaceFieldSubobjectAtOffset() 398 if (!CanPlaceFieldSubobjectAtOffset(BaseDecl, Class, BaseOffset)) in CanPlaceFieldSubobjectAtOffset() 506 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in UpdateEmptyFieldSubobjects() local 508 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects() 509 UpdateEmptyFieldSubobjects(BaseDecl, Class, BaseOffset, in UpdateEmptyFieldSubobjects() 964 const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl(); in ComputeBaseSubobjectInfo() 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() [all …]
|
| H A D | DeclCXX.cpp | 2062 const auto *BaseDecl = in mayBeAbstract() local 2064 if (BaseDecl->isAbstract()) in mayBeAbstract()
|
| H A D | ExprConstant.cpp | 3088 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in HandleLValueBase() local 3091 return HandleLValueDirectBase(Info, E, Obj, DerivedDecl, BaseDecl); in HandleLValueBase() 3105 Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl); in HandleLValueBase() 3106 Obj.addDecl(Info, E, BaseDecl, /*Virtual*/ true); in HandleLValueBase() 6943 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in visitRecord() local 6946 Layout.getBaseClassOffset(BaseDecl) + Offset)) in visitRecord() 7144 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in visit() local 7145 if (BaseDecl->isEmpty() || in visit() 7146 Info.Ctx.getASTRecordLayout(BaseDecl).getNonVirtualSize().isZero()) in visit() 7150 BS.getType(), Layout.getBaseClassOffset(BaseDecl) + Offset); in visit()
|
| /openbsd-src/gnu/llvm/clang/lib/CodeGen/ |
| H A D | CGRecordLayoutBuilder.cpp | 512 const CXXRecordDecl *BaseDecl = Layout.getPrimaryBase(); in accumulateBases() local 514 getStorageType(BaseDecl), BaseDecl)); in accumulateBases() 523 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateBases() local 524 if (!BaseDecl->isEmpty() && in accumulateBases() 525 !Context.getASTRecordLayout(BaseDecl).getNonVirtualSize().isZero()) in accumulateBases() 526 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl), in accumulateBases() 527 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl)); in accumulateBases() 666 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateVBases() local 667 if (BaseDecl->isEmpty()) in accumulateVBases() 671 if (Context.isNearlyEmpty(BaseDecl) && !hasOwnStorage(RD, BaseDecl)) in accumulateVBases() [all …]
|
| H A D | CGClass.cpp | 185 const auto *BaseDecl = in computeNonVirtualBaseClassOffset() local 189 Offset += Layout.getBaseClassOffset(BaseDecl); in computeNonVirtualBaseClassOffset() 191 RD = BaseDecl; in computeNonVirtualBaseClassOffset() 2631 auto *BaseDecl = in getVTablePointers() local 2635 if (!BaseDecl->isDynamicClass()) in getVTablePointers() 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 | 3470 auto *BaseDecl = in CanUseSingleInheritance() local 3472 if (!BaseDecl->isEmpty() && in CanUseSingleInheritance() 3473 BaseDecl->isDynamicClass() != RD->isDynamicClass()) in CanUseSingleInheritance() 3971 auto *BaseDecl = in ComputeVMIClassTypeInfoFlags() local 3976 if (!Bases.VirtualBases.insert(BaseDecl).second) { in ComputeVMIClassTypeInfoFlags() 3981 if (Bases.NonVirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags() 3986 if (!Bases.NonVirtualBases.insert(BaseDecl).second) { in ComputeVMIClassTypeInfoFlags() 3991 if (Bases.VirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags() 3997 for (const auto &I : BaseDecl->bases()) in ComputeVMIClassTypeInfoFlags() 4071 auto *BaseDecl = in BuildVMIClassTypeInfo() local [all …]
|
| H A D | MicrosoftCXXABI.cpp | 954 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in performBaseAdjustment() local 955 if (Context.getASTRecordLayout(BaseDecl).hasExtendableVFPtr()) { in performBaseAdjustment() 956 PolymorphicBase = BaseDecl; in performBaseAdjustment()
|
| H A D | CGOpenMPRuntime.cpp | 7155 const ValueDecl *BaseDecl = nullptr, const Expr *MapExpr = nullptr, in generateInfoForComponentList() argument 7469 : BaseDecl; in generateInfoForComponentList()
|
| /openbsd-src/gnu/llvm/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()
|
| /openbsd-src/gnu/llvm/clang/lib/AST/Interp/ |
| H A D | ByteCodeStmtGen.cpp | 139 auto *BaseDecl = Base->getAsCXXRecordDecl(); in visitFunc() local 140 assert(BaseDecl); in visitFunc() 141 const Record::Base *B = R->getBase(BaseDecl); in visitFunc()
|
| /openbsd-src/gnu/llvm/clang/lib/Sema/ |
| H A D | SemaLookup.cpp | 3057 CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(BaseType->getDecl()); in addAssociatedClassesAndNamespaces() local 3058 if (Result.addClassTransitive(BaseDecl)) { in addAssociatedClassesAndNamespaces() 3060 DeclContext *BaseCtx = BaseDecl->getDeclContext(); in addAssociatedClassesAndNamespaces() 3064 if (BaseDecl->bases_begin() != BaseDecl->bases_end()) in addAssociatedClassesAndNamespaces() 3065 Bases.push_back(BaseDecl); in addAssociatedClassesAndNamespaces()
|
| H A D | SemaDeclCXX.cpp | 2569 if (CXXRecordDecl *BaseDecl = BaseType->getAsCXXRecordDecl()) { in CheckBaseSpecifier() local 2570 if (BaseDecl->getCanonicalDecl() == Class->getCanonicalDecl() || in CheckBaseSpecifier() 2571 ((BaseDecl = BaseDecl->getDefinition()) && in CheckBaseSpecifier() 2572 findCircularInheritance(Class, BaseDecl))) { in CheckBaseSpecifier() 2576 if (BaseDecl->getCanonicalDecl() != Class->getCanonicalDecl()) in CheckBaseSpecifier() 2577 Diag(BaseDecl->getLocation(), diag::note_previous_decl) in CheckBaseSpecifier() 2631 RecordDecl *BaseDecl = BaseType->castAs<RecordType>()->getDecl(); in CheckBaseSpecifier() local 2632 assert(BaseDecl && "Record type has no declaration"); in CheckBaseSpecifier() 2633 BaseDecl = BaseDecl->getDefinition(); in CheckBaseSpecifier() 2634 assert(BaseDecl && "Base type is not incomplete, but has no definition"); in CheckBaseSpecifier() [all …]
|
| H A D | SemaExprCXX.cpp | 925 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in collectPublicBases() local 930 NewSubobject = VBases.insert(BaseDecl).second; in collectPublicBases() 935 ++SubobjectsSeen[BaseDecl]; in collectPublicBases() 940 PublicSubobjectsSeen.insert(BaseDecl); in collectPublicBases() 943 collectPublicBases(BaseDecl, SubobjectsSeen, VBases, PublicSubobjectsSeen, in collectPublicBases()
|
| H A D | SemaInit.cpp | 9739 RecordDecl *BaseDecl in Diagnose() local 9742 S.Diag(BaseDecl->getLocation(), diag::note_previous_decl) in Diagnose() 9743 << S.Context.getTagDeclType(BaseDecl); in Diagnose()
|
| H A D | SemaChecking.cpp | 15913 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in getDerivedToBaseAlignmentAndOffset() local 15920 Ctx.getASTRecordLayout(BaseDecl).getNonVirtualAlignment(); in getDerivedToBaseAlignmentAndOffset() 15926 Offset += RL.getBaseClassOffset(BaseDecl); in getDerivedToBaseAlignmentAndOffset()
|