Lines Matching refs:BaseDecl
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()
399 BaseOffset = Layout.getBaseClassOffset(BaseDecl) + Base.getBaseOffset(); in dump()
402 dump(Out, BaseSubobject(BaseDecl, BaseOffset), VisitedVirtualBases); in dump()
725 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in AddVCallOffsets() local
726 if (BaseDecl == PrimaryBase) in AddVCallOffsets()
731 Layout.getBaseClassOffset(BaseDecl); in AddVCallOffsets()
733 AddVCallOffsets(BaseSubobject(BaseDecl, BaseOffset), in AddVCallOffsets()
746 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in AddVBaseOffsets() local
749 if (B.isVirtual() && VisitedVirtualBases.insert(BaseDecl).second) { in AddVBaseOffsets()
751 LayoutClassLayout.getVBaseClassOffset(BaseDecl) - OffsetInLayoutClass; in AddVBaseOffsets()
754 assert(!VBaseOffsetOffsets.count(BaseDecl) && in AddVBaseOffsets()
759 std::make_pair(BaseDecl, VBaseOffsetOffset)); in AddVBaseOffsets()
766 AddVBaseOffsets(BaseDecl, OffsetInLayoutClass); in AddVBaseOffsets()
1737 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in LayoutSecondaryVTables() local
1740 if (!BaseDecl->isDynamicClass()) in LayoutSecondaryVTables()
1749 if (!BaseIsMorallyVirtual && !BaseDecl->getNumVBases()) in LayoutSecondaryVTables()
1754 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl); in LayoutSecondaryVTables()
1762 if (BaseDecl == PrimaryBase) { in LayoutSecondaryVTables()
1763 LayoutSecondaryVTables(BaseSubobject(BaseDecl, BaseOffset), in LayoutSecondaryVTables()
1770 BaseSubobject(BaseDecl, BaseOffset), in LayoutSecondaryVTables()
1811 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in DeterminePrimaryVirtualBases() local
1816 if (!VBases.insert(BaseDecl).second) in DeterminePrimaryVirtualBases()
1823 LayoutClassLayout.getVBaseClassOffset(BaseDecl); in DeterminePrimaryVirtualBases()
1826 OffsetInLayoutClass + Layout.getBaseClassOffset(BaseDecl); in DeterminePrimaryVirtualBases()
1829 DeterminePrimaryVirtualBases(BaseDecl, BaseOffsetInLayoutClass, VBases); in DeterminePrimaryVirtualBases()
1840 const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl(); in LayoutVTablesForVirtualBases() local
1844 if (B.isVirtual() && BaseDecl->isDynamicClass() && in LayoutVTablesForVirtualBases()
1845 !PrimaryVirtualBases.count(BaseDecl) && in LayoutVTablesForVirtualBases()
1846 VBases.insert(BaseDecl).second) { in LayoutVTablesForVirtualBases()
1850 MostDerivedClassLayout.getVBaseClassOffset(BaseDecl); in LayoutVTablesForVirtualBases()
1855 LayoutClassLayout.getVBaseClassOffset(BaseDecl); in LayoutVTablesForVirtualBases()
1858 BaseSubobject(BaseDecl, BaseOffset), in LayoutVTablesForVirtualBases()
1866 if (BaseDecl->getNumVBases()) in LayoutVTablesForVirtualBases()
1867 LayoutVTablesForVirtualBases(BaseDecl, VBases); in LayoutVTablesForVirtualBases()