Lines Matching defs:Layout
244 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Element.Class);
248 NonVirtualOffset += Layout.getBaseClassOffset(Base);
364 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
365 CharUnits Offset = Layout.getBaseClassOffset(BaseDecl);
381 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
399 BaseOffset = Layout.getBaseClassOffset(BaseDecl) + Base.getBaseOffset();
618 const ASTRecordLayout &Layout = Context.getASTRecordLayout(Base.getBase());
629 if (const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase()) {
630 bool PrimaryBaseIsVirtual = Layout.isPrimaryBaseVirtual();
636 assert(Layout.getVBaseClassOffset(PrimaryBase).isZero() &&
645 assert(Layout.getBaseClassOffset(PrimaryBase).isZero() &&
688 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
690 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
695 if (PrimaryBase && !Layout.isPrimaryBaseVirtual()) {
697 assert(Layout.getBaseClassOffset(PrimaryBase).isZero() &&
744 Layout.getBaseClassOffset(BaseDecl);
956 // LayoutVTable - Layout the vtable for the given base class, including its
960 /// LayoutPrimaryAndSecondaryVTables - Layout the primary vtable for the
973 /// LayoutSecondaryVTables - Layout the secondary vtables for the given base
987 /// LayoutVTablesForVirtualBases - Layout vtables for all virtual bases of the
1410 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1411 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
1416 if (Layout.isPrimaryBaseVirtual()) {
1417 assert(Layout.getVBaseClassOffset(PrimaryBase).isZero() &&
1431 assert(Layout.getBaseClassOffset(PrimaryBase).isZero() &&
1484 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1486 if (const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase()) {
1489 if (Layout.isPrimaryBaseVirtual()) {
1490 assert(Layout.getVBaseClassOffset(PrimaryBase).isZero() &&
1505 assert(Layout.getBaseClassOffset(PrimaryBase).isZero() &&
1757 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1758 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
1763 if (Layout.isPrimaryBaseVirtual()) {
1779 // Layout secondary vtables.
1793 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1794 const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
1818 CharUnits RelativeBaseOffset = Layout.getBaseClassOffset(BaseDecl);
1832 // Layout the primary vtable (and any secondary vtables) for this base.
1844 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
1847 if (const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase()) {
1850 if (Layout.isPrimaryBaseVirtual()) {
1890 OffsetInLayoutClass + Layout.getBaseClassOffset(BaseDecl);
2818 const ASTRecordLayout &Layout = Context.getASTRecordLayout(PrevRD);
2834 ThisOffset += Layout.getBaseClassOffset(CurRD);
3045 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
3059 Base.getBaseOffset() + Layout.getBaseClassOffset(NextBase);
3061 } else if (const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase()) {
3062 assert(!Layout.isPrimaryBaseVirtual() &&
3395 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
3398 if (ForVBTables ? Layout.hasOwnVBPtr() : Layout.hasOwnVFPtr())
3433 Base == (ForVBTables ? Layout.getBaseSharingVBPtr()
3434 : Layout.getPrimaryBase()))
3442 P->NonVirtualOffset += Layout.getBaseClassOffset(Base);
3447 P->FullOffsetInMDC += Layout.getVBaseClassOffset(VB);
3529 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
3535 : Offset + Layout.getBaseClassOffset(Base);
3574 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
3582 : Offset + Layout.getBaseClassOffset(Base);
3683 static bool vfptrIsEarlierInMDC(const ASTRecordLayout &Layout,
3689 L += Layout.getVBaseClassOffset(LHS.VBase);
3691 R += Layout.getVBaseClassOffset(RHS.VBase);
3725 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
3731 if (vfptrIsEarlierInMDC(Layout, NewLoc, OldLoc))
3819 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD);
3820 if (const CXXRecordDecl *VBPtrBase = Layout.getBaseSharingVBPtr()) {