| /llvm-project-15.0.7/lldb/test/API/lang/cpp/diamond/ |
| H A D | main.cpp | 3 struct VBase { struct 4 VBase() : m_value(g_next_value++) {} in VBase() function 5 virtual ~VBase() {} in ~VBase() argument 9 struct Derived1 : public virtual VBase { argument 12 struct Derived2 : public virtual VBase {
|
| /llvm-project-15.0.7/clang/test/CodeGenCXX/ |
| H A D | constructors.cpp | 5 struct VBase { int x; VBase(); VBase(int); VBase(const VBase &); }; struct
|
| H A D | ms_struct.cpp | 8 struct ATTR VBase { struct 12 struct ATTR Base : virtual VBase {
|
| H A D | microsoft-abi-virtual-inheritance.cpp | 8 struct VBase { struct 9 virtual ~VBase(); 15 struct B : virtual VBase { argument
|
| H A D | destructors.cpp | 85 struct VBase { ~VBase(); }; struct 112 struct B : Base, virtual VBase {
|
| /llvm-project-15.0.7/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 | 426 const CXXRecordDecl *VBase); 516 const CXXRecordDecl *VBase; member 526 : VBTableIndex(0), VBase(nullptr), VFPtrOffset(CharUnits::Zero()), in MethodVFTableLocation() 529 MethodVFTableLocation(uint64_t VBTableIndex, const CXXRecordDecl *VBase, in MethodVFTableLocation() 531 : VBTableIndex(VBTableIndex), VBase(VBase), VFPtrOffset(VFPtrOffset), in MethodVFTableLocation() 536 assert(VBase != other.VBase); 606 const CXXRecordDecl *VBase);
|
| /llvm-project-15.0.7/clang/test/CXX/basic/basic.types/ |
| H A D | p10.cpp | 92 struct VBase {}; struct 93 struct HasVBase : virtual VBase {}; // expected-note 2{{virtual base class declared here}}
|
| /llvm-project-15.0.7/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 | VTableBuilder.cpp | 2287 const CXXRecordDecl *VBase) { in getVirtualBaseOffsetOffset() argument 2288 ClassPairTy ClassPair(RD, VBase); in getVirtualBaseOffsetOffset() 2347 const CXXRecordDecl *VBase = in computeVTableRelatedInformation() local 2350 if (VirtualBaseClassOffsetOffsets.count(std::make_pair(RD, VBase))) in computeVTableRelatedInformation() 3591 if (LHS.VBase) in vfptrIsEarlierInMDC() 3592 L += Layout.getVBaseClassOffset(LHS.VBase); in vfptrIsEarlierInMDC() 3593 if (RHS.VBase) in vfptrIsEarlierInMDC() 3594 R += Layout.getVBaseClassOffset(RHS.VBase); in vfptrIsEarlierInMDC() 3745 const CXXRecordDecl *VBase) { in getVBTableIndex() argument 3747 assert(VBInfo.VBTableIndices.count(VBase)); in getVBTableIndex() [all …]
|
| H A D | RecordLayoutBuilder.cpp | 3098 for (const CXXBaseSpecifier &VBase : RD->vbases()) { in layoutVirtualBases() local 3099 const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl(); in layoutVirtualBases() 3110 for (const CXXBaseSpecifier &VBase : RD->vbases()) { in layoutVirtualBases() local 3111 const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl(); in layoutVirtualBases() 3640 const CXXRecordDecl *VBase = Base.getType()->getAsCXXRecordDecl(); in DumpRecordLayout() local 3642 CharUnits VBaseOffset = Offset + Layout.getVBaseClassOffset(VBase); in DumpRecordLayout() 3644 if (VtorDisps.find(VBase)->second.hasVtorDisp()) { in DumpRecordLayout() 3646 OS << "(vtordisp for vbase " << *VBase << ")\n"; in DumpRecordLayout() 3649 DumpRecordLayout(OS, VBase, C, VBaseOffset, IndentLevel, in DumpRecordLayout() 3650 VBase == Layout.getPrimaryBase() ? in DumpRecordLayout()
|
| H A D | DeclCXX.cpp | 297 for (const auto &VBase : BaseClassDecl->vbases()) { in setBases() local 299 if (SeenVBaseTypes.insert(C.getCanonicalType(VBase.getType())).second) { in setBases() 300 VBases.push_back(&VBase); in setBases() 307 if (CXXRecordDecl *VBaseDecl = VBase.getType()->getAsCXXRecordDecl()) in setBases()
|
| H A D | MicrosoftMangle.cpp | 745 if (ML.VBase) { in mangleMemberFunctionPointer()
|
| /llvm-project-15.0.7/clang/test/CXX/special/class.copy/ |
| H A D | p12-0x.cpp | 59 struct VBase : virtual Trivial {}; struct 60 using _ = not_trivially_copyable<VBase>;
|
| H A D | p25-0x.cpp | 67 struct VBase : virtual Trivial {}; struct 68 using _ = not_trivially_assignable<VBase>;
|
| /llvm-project-15.0.7/clang/lib/CodeGen/ |
| H A D | MicrosoftCXXABI.cpp | 249 if (ML.VBase || !ML.VFPtrOffset.isZero()) in getThisArgumentTypeForMethod() 354 if (!DstRD->isVirtuallyDerivedFrom(VBase)) in getAddrOfVirtualDisplacementMap() 1217 auto I = VBaseMap.find(VBase); in initializeHiddenVirtualInheritanceMembers() 1418 if (ML.VBase) { in getVirtualFunctionPrologueThisAdjustment() 1467 if (ML.VBase) { in adjustThisArgumentForVirtualFunctionCall() 1471 const CXXRecordDecl *VBase = ML.VBase; in adjustThisArgumentForVirtualFunctionCall() local 1483 if (ML.VBase) { in adjustThisArgumentForVirtualFunctionCall() 1943 ML.VBase ? ML.VBase : MethodDecl->getParent()), in getVirtualFunctionPointer() 2963 if (ML.VBase) in EmitMemberFunctionPointer() 3883 if (const CXXRecordDecl *VBase = Info.getVBaseWithVPtr()) in getCompleteObjectLocator() local [all …]
|
| H A D | CGRecordLayoutBuilder.cpp | 79 enum InfoKind { VFPtr, VBPtr, Field, Base, VBase, Scissor } Kind; enumerator 688 Members.push_back(MemberInfo(Offset, MemberInfo::VBase, nullptr, in accumulateVBases() 696 Members.push_back(MemberInfo(Offset, MemberInfo::VBase, in accumulateVBases() 721 Member->Kind == MemberInfo::VBase) { in calculateZeroInit() 833 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() 373 if (VBase) { in GetAddressOfBaseClass() 375 CGM.getCXXABI().GetVirtualBaseClassOffset(*this, Value, Derived, VBase); in GetAddressOfBaseClass() [all …]
|
| H A D | CodeGenModule.h | 955 const CXXRecordDecl *VBase);
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LoopRerollPass.cpp | 1039 DenseSet<Instruction*> VBase; in collectUsedInstructions() local 1040 collectInLoopUserSet(DRS.BaseInst, Exclude, PossibleRedSet, VBase); in collectUsedInstructions() 1041 for (auto *I : VBase) { in collectUsedInstructions() 1051 if (V.size() != VBase.size()) { in collectUsedInstructions()
|
| /llvm-project-15.0.7/llvm/test/Demangle/ |
| H A D | ms-operators.test | 104 ??VBase@@QEAAHH@Z
|
| /llvm-project-15.0.7/clang/lib/Sema/ |
| H A D | SemaDeclCXX.cpp | 5195 for (auto &VBase : ClassDecl->vbases()) { in SetCtorInitializers() local 5206 << VBase.getType() << ClassDecl; in SetCtorInitializers() 5216 bool IsInheritedVirtualBase = !DirectVBases.count(&VBase); in SetCtorInitializers() 5375 for (const auto &VBase : ClassDecl->vbases()) in DiagnoseBaseOrMemInitializerOrder() local 5714 for (const auto &VBase : ClassDecl->vbases()) { in MarkVirtualBaseDestructorsReferenced() local 5716 const RecordType *RT = VBase.getType()->castAs<RecordType>(); in MarkVirtualBaseDestructorsReferenced() 5738 Context.getTypeDeclType(ClassDecl), VBase.getType(), in MarkVirtualBaseDestructorsReferenced() 13652 for (bool VBase : {false, true}) { in DefineInheritingConstructor() 13653 for (CXXBaseSpecifier &B : VBase ? RD->vbases() : RD->bases()) { in DefineInheritingConstructor() 13654 if (B.isVirtual() != VBase) in DefineInheritingConstructor() [all …]
|
| H A D | SemaCast.cpp | 1774 if (const RecordType *VBase = Paths.getDetectedVirtual()) { in TryStaticMemberPointerUpcast() local 1776 << SrcClass << DestClass << QualType(VBase, 0) << OpRange; in TryStaticMemberPointerUpcast()
|
| H A D | SemaOverload.cpp | 3163 if (const RecordType *VBase = Paths.getDetectedVirtual()) { in CheckMemberPointerConversion() local 3165 << FromClass << ToClass << QualType(VBase, 0) in CheckMemberPointerConversion()
|