Home
last modified time | relevance | path

Searched refs:VBase (Results 1 – 15 of 15) sorted by relevance

/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DRecordLayout.h259 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 DVTableBuilder.h434 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 DCXXInheritance.cpp335 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 DRecordLayoutBuilder.cpp3168 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 DVTableBuilder.cpp2355 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 DDeclCXX.cpp298 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 DType.cpp2783 for (auto VBase : CXXRD->vbases()) in isBitwiseCloneableType() local
2784 if (!VBase.getType().isBitwiseCloneableType(Context)) in isBitwiseCloneableType()
H A DMicrosoftMangle.cpp814 if (ML.VBase) { in mangleMemberFunctionPointer()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DMicrosoftCXXABI.cpp274 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 DCGRecordLayoutBuilder.cpp79 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 DCGClass.cpp301 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 DCodeGenModule.h1063 const CXXRecordDecl *VBase);
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DSemaDeclCXX.cpp5282 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 DSemaCast.cpp1829 if (const RecordType *VBase = Paths.getDetectedVirtual()) { in TryStaticMemberPointerUpcast() local
1831 << SrcClass << DestClass << QualType(VBase, 0) << OpRange; in TryStaticMemberPointerUpcast()
H A DSemaOverload.cpp3467 if (const RecordType *VBase = Paths.getDetectedVirtual()) { in CheckMemberPointerConversion() local
3469 << FromClass << ToClass << QualType(VBase, 0) in CheckMemberPointerConversion()