/external/clang/lib/AST/ |
D | VTTBuilder.cpp | 64 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVTTs() local 69 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTTs() 72 LayoutVTT(BaseSubobject(BaseDecl, BaseOffset), /*BaseIsVirtual=*/false); in LayoutSecondaryVTTs() 90 const CXXRecordDecl *BaseDecl = in LayoutSecondaryVirtualPointers() local 100 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVirtualPointers() 108 if (!VBases.insert(BaseDecl).second) in LayoutSecondaryVirtualPointers() 111 BaseOffset = MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers() 117 Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVirtualPointers() 120 Layout.getPrimaryBase() == BaseDecl) in LayoutSecondaryVirtualPointers() 130 (BaseDecl->getNumVBases() || BaseDeclIsMorallyVirtual)) { in LayoutSecondaryVirtualPointers() [all …]
|
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() 501 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in UpdateEmptyFieldSubobjects() local 503 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects() 504 UpdateEmptyFieldSubobjects(BaseDecl, Class, BaseOffset); in UpdateEmptyFieldSubobjects() 926 const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl(); in ComputeBaseSubobjectInfo() local [all …]
|
D | CXXInheritance.cpp | 486 const CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(RT->getDecl()); in Collect() local 487 if (!BaseDecl->isPolymorphic()) in Collect() 493 Collect(BaseDecl, false, InVirtualSubobject, Overriders); in Collect() 505 CXXFinalOverriderMap *&MyVirtualOverriders = VirtualOverriders[BaseDecl]; in Collect() 515 Collect(BaseDecl, true, BaseDecl, *MyVirtualOverriders); in Collect() 518 Collect(BaseDecl, false, InVirtualSubobject, ComputedBaseOverriders); in Collect() 659 const CXXRecordDecl *BaseDecl = in AddIndirectPrimaryBases() local 664 if (BaseDecl->getNumVBases()) in AddIndirectPrimaryBases() 665 AddIndirectPrimaryBases(BaseDecl, Context, Bases); in AddIndirectPrimaryBases() 681 const CXXRecordDecl *BaseDecl = in getIndirectPrimaryBases() local [all …]
|
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 …]
|
D | DeclCXX.cpp | 1369 CXXRecordDecl *BaseDecl in mayBeAbstract() local 1371 if (BaseDecl->isAbstract()) in mayBeAbstract()
|
D | ExprConstant.cpp | 1816 const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl(); in HandleLValueBase() local 1819 return HandleLValueDirectBase(Info, E, Obj, DerivedDecl, BaseDecl); in HandleLValueBase() 1833 Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl); in HandleLValueBase() 1834 Obj.addDecl(Info, E, BaseDecl, /*Virtual*/ true); in HandleLValueBase()
|
/external/clang/lib/CodeGen/ |
D | CGRecordLayoutBuilder.cpp | 433 const CXXRecordDecl *BaseDecl = Layout.getPrimaryBase(); in accumulateBases() local 435 getStorageType(BaseDecl), BaseDecl)); in accumulateBases() 441 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateBases() local 442 if (!BaseDecl->isEmpty()) in accumulateBases() 443 Members.push_back(MemberInfo(Layout.getBaseClassOffset(BaseDecl), in accumulateBases() 444 MemberInfo::Base, getStorageType(BaseDecl), BaseDecl)); in accumulateBases() 466 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in accumulateVBases() local 467 if (BaseDecl->isEmpty()) in accumulateVBases() 471 if (Context.isNearlyEmpty(BaseDecl) && !hasOwnStorage(RD, BaseDecl)) in accumulateVBases() 474 Layout.getVBaseClassOffset(BaseDecl)); in accumulateVBases() [all …]
|
D | CGClass.cpp | 48 const CXXRecordDecl *BaseDecl = in ComputeNonVirtualBaseClassOffset() local 52 Offset += Layout.getBaseClassOffset(BaseDecl); in ComputeNonVirtualBaseClassOffset() 54 RD = BaseDecl; in ComputeNonVirtualBaseClassOffset() 2028 CXXRecordDecl *BaseDecl in InitializeVTablePointers() local 2032 if (!BaseDecl->isDynamicClass()) in InitializeVTablePointers() 2041 if (!VBases.insert(BaseDecl).second) in InitializeVTablePointers() 2047 BaseOffset = Layout.getVBaseClassOffset(BaseDecl); in InitializeVTablePointers() 2053 BaseOffset = Base.getBaseOffset() + Layout.getBaseClassOffset(BaseDecl); in InitializeVTablePointers() 2055 OffsetFromNearestVBase + Layout.getBaseClassOffset(BaseDecl); in InitializeVTablePointers() 2056 BaseDeclIsNonVirtualPrimaryBase = Layout.getPrimaryBase() == BaseDecl; in InitializeVTablePointers() [all …]
|
D | ItaniumCXXABI.cpp | 2486 const CXXRecordDecl *BaseDecl = in CanUseSingleInheritance() local 2488 if (!BaseDecl->isEmpty() && in CanUseSingleInheritance() 2489 BaseDecl->isDynamicClass() != RD->isDynamicClass()) in CanUseSingleInheritance() 2917 const CXXRecordDecl *BaseDecl = in ComputeVMIClassTypeInfoFlags() local 2922 if (!Bases.VirtualBases.insert(BaseDecl).second) { in ComputeVMIClassTypeInfoFlags() 2927 if (Bases.NonVirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags() 2932 if (!Bases.NonVirtualBases.insert(BaseDecl).second) { in ComputeVMIClassTypeInfoFlags() 2937 if (Bases.VirtualBases.count(BaseDecl)) in ComputeVMIClassTypeInfoFlags() 2943 for (const auto &I : BaseDecl->bases()) in ComputeVMIClassTypeInfoFlags() 3006 const CXXRecordDecl *BaseDecl = in BuildVMIClassTypeInfo() local [all …]
|
D | MicrosoftCXXABI.cpp | 845 const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl(); in performBaseAdjustment() local 846 return Context.getASTRecordLayout(BaseDecl).hasExtendableVFPtr(); in performBaseAdjustment()
|
/external/clang/lib/StaticAnalyzer/Core/ |
D | Store.cpp | 269 const CXXRecordDecl *BaseDecl = BaseType->getPointeeCXXRecordDecl(); in evalDerivedToBase() local 270 if (!BaseDecl) in evalDerivedToBase() 271 BaseDecl = BaseType->getAsCXXRecordDecl(); in evalDerivedToBase() 272 assert(BaseDecl && "not a C++ object?"); in evalDerivedToBase() 275 MRMgr.getCXXBaseObjectRegion(BaseDecl, DerivedRegVal->getRegion(), in evalDerivedToBase()
|
/external/clang/test/SemaCXX/ |
D | typo-correction.cpp | 114 struct BaseDecl { struct 117 struct TestRedecl : public BaseDecl {
|
/external/clang/lib/Sema/ |
D | SemaLookup.cpp | 2135 CXXRecordDecl *BaseDecl = cast<CXXRecordDecl>(BaseType->getDecl()); in addAssociatedClassesAndNamespaces() local 2136 if (Result.Classes.insert(BaseDecl).second) { in addAssociatedClassesAndNamespaces() 2138 DeclContext *BaseCtx = BaseDecl->getDeclContext(); in addAssociatedClassesAndNamespaces() 2142 if (BaseDecl->bases_begin() != BaseDecl->bases_end()) in addAssociatedClassesAndNamespaces() 2143 Bases.push_back(BaseDecl); in addAssociatedClassesAndNamespaces()
|
D | SemaDeclCXX.cpp | 1407 if (CXXRecordDecl *BaseDecl = BaseType->getAsCXXRecordDecl()) { in CheckBaseSpecifier() local 1408 if (BaseDecl->getCanonicalDecl() == Class->getCanonicalDecl() || in CheckBaseSpecifier() 1409 ((BaseDecl = BaseDecl->getDefinition()) && in CheckBaseSpecifier() 1410 findCircularInheritance(Class, BaseDecl))) { in CheckBaseSpecifier() 1414 if (BaseDecl->getCanonicalDecl() != Class->getCanonicalDecl()) in CheckBaseSpecifier() 1415 Diag(BaseDecl->getLocation(), diag::note_previous_decl) in CheckBaseSpecifier() 1461 RecordDecl *BaseDecl = BaseType->getAs<RecordType>()->getDecl(); in CheckBaseSpecifier() local 1462 assert(BaseDecl && "Record type has no declaration"); in CheckBaseSpecifier() 1463 BaseDecl = BaseDecl->getDefinition(); in CheckBaseSpecifier() 1464 assert(BaseDecl && "Base type is not incomplete, but has no definition"); in CheckBaseSpecifier() [all …]
|
D | SemaExprCXX.cpp | 694 CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl(); in collectPublicBases() local 699 NewSubobject = VBases.insert(BaseDecl).second; in collectPublicBases() 704 ++SubobjectsSeen[BaseDecl]; in collectPublicBases() 709 PublicSubobjectsSeen.insert(BaseDecl); in collectPublicBases() 712 collectPublicBases(BaseDecl, SubobjectsSeen, VBases, PublicSubobjectsSeen, in collectPublicBases()
|
D | SemaInit.cpp | 6824 RecordDecl *BaseDecl in Diagnose() local 6827 S.Diag(BaseDecl->getLocation(), diag::note_previous_decl) in Diagnose() 6828 << S.Context.getTagDeclType(BaseDecl); in Diagnose()
|