/freebsd/contrib/llvm-project/clang/include/clang/AST/ |
H A D | RecordLayout.h | 259 CharUnits getVBaseClassOffset(const CXXRecordDecl *VBase) const { in getVBaseClassOffset() argument 262 VBase = VBase->getDefinition(); in getVBaseClassOffset() 263 assert(CXXInfo->VBaseOffsets.count(VBase) && "Did not find base!"); in getVBaseClassOffset() 265 return CXXInfo->VBaseOffsets[VBase].VBaseOffset; in getVBaseClassOffset()
|
H A D | VTableBuilder.h | 434 const CXXRecordDecl *VBase); 545 const CXXRecordDecl *VBase; member 555 : VBTableIndex(0), VBase(nullptr), VFPtrOffset(CharUnits::Zero()), in MethodVFTableLocation() 558 MethodVFTableLocation(uint64_t VBTableIndex, const CXXRecordDecl *VBase, in MethodVFTableLocation() 560 : VBTableIndex(VBTableIndex), VBase(VBase), VFPtrOffset(VFPtrOffset), in MethodVFTableLocation() 565 assert(VBase != other.VBase); 633 const CXXRecordDecl *VBase);
|
/freebsd/contrib/llvm-project/clang/lib/AST/ |
H A D | CXXInheritance.cpp | 335 CXXRecordDecl *VBase = nullptr; in lookupInBases() local 337 VBase = cast<CXXRecordDecl>(Record->getDecl()); in lookupInBases() 338 if (!VBase) in lookupInBases() 353 if (HidingClass->isVirtuallyDerivedFrom(VBase)) in lookupInBases()
|
H A D | RecordLayoutBuilder.cpp | 3168 for (const CXXBaseSpecifier &VBase : RD->vbases()) { in layoutVirtualBases() local 3169 const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl(); in layoutVirtualBases() 3180 for (const CXXBaseSpecifier &VBase : RD->vbases()) { in layoutVirtualBases() local 3181 const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl(); in layoutVirtualBases() 3714 const CXXRecordDecl *VBase = Base.getType()->getAsCXXRecordDecl(); in DumpRecordLayout() local 3716 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase); in DumpRecordLayout() 3718 if (VtorDisps.find(VBase)->second.hasVtorDisp()) { in DumpRecordLayout() 3720 OS << "(vtordisp for vbase " << *VBase << ")\n"; in DumpRecordLayout() 3723 DumpRecordLayout(OS, VBase, C, VBaseOffset, IndentLevel, in DumpRecordLayout() 3724 VBase == Layout.getPrimaryBase() ? in DumpRecordLayout() [all …]
|
H A D | VTableBuilder.cpp | 2355 const CXXRecordDecl *VBase) { in getVirtualBaseOffsetOffset() argument 2356 ClassPairTy ClassPair(RD, VBase); in getVirtualBaseOffsetOffset() 2444 const CXXRecordDecl *VBase = in computeVTableRelatedInformation() local 2447 if (VirtualBaseClassOffsetOffsets.count(std::make_pair(RD, VBase))) in computeVTableRelatedInformation() 3688 if (LHS.VBase) in vfptrIsEarlierInMDC() 3689 L += Layout.getVBaseClassOffset(LHS.VBase); in vfptrIsEarlierInMDC() 3690 if (RHS.VBase) in vfptrIsEarlierInMDC() 3691 R += Layout.getVBaseClassOffset(RHS.VBase); in vfptrIsEarlierInMDC() 3842 const CXXRecordDecl *VBase) { in getVBTableIndex() argument 3844 assert(VBInfo.VBTableIndices.count(VBase)); in getVBTableIndex() [all …]
|
H A D | DeclCXX.cpp | 298 for (const auto &VBase : BaseClassDecl->vbases()) { in setBases() local 300 if (SeenVBaseTypes.insert(C.getCanonicalType(VBase.getType())).second) { in setBases() 301 VBases.push_back(&VBase); in setBases() 308 if (CXXRecordDecl *VBaseDecl = VBase.getType()->getAsCXXRecordDecl()) in setBases()
|
H A D | Type.cpp | 2783 for (auto VBase : CXXRD->vbases()) in isBitwiseCloneableType() local 2784 if (!VBase.getType().isBitwiseCloneableType(Context)) in isBitwiseCloneableType()
|
H A D | MicrosoftMangle.cpp | 814 if (ML.VBase) { in mangleMemberFunctionPointer()
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | MicrosoftCXXABI.cpp | 274 if (ML.VBase || !ML.VFPtrOffset.isZero()) in getThisArgumentTypeForMethod() 374 const CXXRecordDecl *VBase = I.getType()->getAsCXXRecordDecl(); in getAddrOfVirtualDisplacementMap() local 375 if (!DstRD->isVirtuallyDerivedFrom(VBase)) in getAddrOfVirtualDisplacementMap() 378 unsigned SrcVBIndex = VTContext.getVBTableIndex(SrcRD, VBase); in getAddrOfVirtualDisplacementMap() 379 unsigned DstVBIndex = VTContext.getVBTableIndex(DstRD, VBase); in getAddrOfVirtualDisplacementMap() 1263 const CXXRecordDecl *VBase = S.getType()->getAsCXXRecordDecl(); in initializeHiddenVirtualInheritanceMembers() local 1264 auto I = VBaseMap.find(VBase); in initializeHiddenVirtualInheritanceMembers() 1270 GetVirtualBaseClassOffset(CGF, getThisAddress(CGF), RD, VBase); in initializeHiddenVirtualInheritanceMembers() 1461 if (ML.VBase) { in getVirtualFunctionPrologueThisAdjustment() 1464 Adjustment += DerivedLayout.getVBaseClassOffset(ML.VBase); in getVirtualFunctionPrologueThisAdjustment() [all …]
|
H A D | CGRecordLayoutBuilder.cpp | 79 enum InfoKind { VFPtr, VBPtr, Field, Base, VBase } Kind; enumerator 907 Members.push_back(MemberInfo(Offset, MemberInfo::VBase, nullptr, in accumulateVBases() 915 Members.push_back(MemberInfo(Offset, MemberInfo::VBase, in accumulateVBases() 940 Member->Kind == MemberInfo::VBase) { in calculateZeroInit() 1042 else if (Member->Kind == MemberInfo::VBase) in fillOutputFields()
|
H A D | CGClass.cpp | 301 const CXXRecordDecl *VBase = nullptr; in GetAddressOfBaseClass() local 308 VBase = cast<CXXRecordDecl>( in GetAddressOfBaseClass() 317 VBase ? VBase : Derived, Start, PathEnd); in GetAddressOfBaseClass() 322 if (VBase && Derived->hasAttr<FinalAttr>()) { in GetAddressOfBaseClass() 324 CharUnits vBaseOffset = layout.getVBaseClassOffset(VBase); in GetAddressOfBaseClass() 326 VBase = nullptr; // we no longer have a virtual step in GetAddressOfBaseClass() 339 if (NonVirtualOffset.isZero() && !VBase) { in GetAddressOfBaseClass() 367 EmitTypeCheck(VBase ? TCK_UpcastToVirtualBase : TCK_Upcast, Loc, in GetAddressOfBaseClass() 374 if (VBase) { in GetAddressOfBaseClass() 376 CGM.getCXXABI().GetVirtualBaseClassOffset(*this, Value, Derived, VBase); in GetAddressOfBaseClass() [all …]
|
H A D | CodeGenModule.h | 1063 const CXXRecordDecl *VBase);
|
/freebsd/contrib/llvm-project/clang/lib/Sema/ |
H A D | SemaDeclCXX.cpp | 5282 for (auto &VBase : ClassDecl->vbases()) { in SetCtorInitializers() local 5284 = Info.AllBaseFields.lookup(VBase.getType()->getAs<RecordType>())) { in SetCtorInitializers() 5293 << VBase.getType() << ClassDecl; in SetCtorInitializers() 5303 bool IsInheritedVirtualBase = !DirectVBases.count(&VBase); in SetCtorInitializers() 5306 &VBase, IsInheritedVirtualBase, in SetCtorInitializers() 5462 for (const auto &VBase : ClassDecl->vbases()) in DiagnoseBaseOrMemInitializerOrder() local 5463 IdealInitKeys.push_back(GetKeyForBase(SemaRef.Context, VBase.getType())); in DiagnoseBaseOrMemInitializerOrder() 5804 for (const auto &VBase : ClassDecl->vbases()) { in MarkVirtualBaseDestructorsReferenced() local 5806 const RecordType *RT = VBase.getType()->castAs<RecordType>(); in MarkVirtualBaseDestructorsReferenced() 5826 << Context.getTypeDeclType(ClassDecl) << VBase.getType(), in MarkVirtualBaseDestructorsReferenced() [all …]
|
H A D | SemaCast.cpp | 1829 if (const RecordType *VBase = Paths.getDetectedVirtual()) { in TryStaticMemberPointerUpcast() local 1831 << SrcClass << DestClass << QualType(VBase, 0) << OpRange; in TryStaticMemberPointerUpcast()
|
H A D | SemaOverload.cpp | 3467 if (const RecordType *VBase = Paths.getDetectedVirtual()) { in CheckMemberPointerConversion() local 3469 << FromClass << ToClass << QualType(VBase, 0) in CheckMemberPointerConversion()
|