Lines Matching refs:BaseOffset
86 bool getExternalNVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalNVBaseOffset()
90 BaseOffset = Known->second; in getExternalNVBaseOffset()
94 bool getExternalVBaseOffset(const CXXRecordDecl *RD, CharUnits &BaseOffset) { in getExternalVBaseOffset()
98 BaseOffset = Known->second; in getExternalVBaseOffset()
286 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in CanPlaceBaseSubobjectAtOffset() local
288 if (!CanPlaceBaseSubobjectAtOffset(Base, BaseOffset)) in CanPlaceBaseSubobjectAtOffset()
336 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in UpdateEmptyBaseSubobjects() local
337 UpdateEmptyBaseSubobjects(Base, BaseOffset, PlacingEmptyBase); in UpdateEmptyBaseSubobjects()
397 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in CanPlaceFieldSubobjectAtOffset() local
398 if (!CanPlaceFieldSubobjectAtOffset(BaseDecl, Class, BaseOffset)) in CanPlaceFieldSubobjectAtOffset()
508 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(BaseDecl); in UpdateEmptyFieldSubobjects() local
509 UpdateEmptyFieldSubobjects(BaseDecl, Class, BaseOffset, in UpdateEmptyFieldSubobjects()
1139 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base->Class); in AddPrimaryVirtualBaseOffsets() local
1140 AddPrimaryVirtualBaseOffsets(Base, BaseOffset); in AddPrimaryVirtualBaseOffsets()
2933 CharUnits BaseOffset; in layoutNonVirtualBase() local
2938 FoundBase = External.getExternalNVBaseOffset(BaseDecl, BaseOffset); in layoutNonVirtualBase()
2939 if (BaseOffset > Size) { in layoutNonVirtualBase()
2940 Size = BaseOffset; in layoutNonVirtualBase()
2947 BaseOffset = CharUnits::Zero(); in layoutNonVirtualBase()
2950 BaseOffset = Size = Size.alignTo(Info.Alignment); in layoutNonVirtualBase()
2953 Bases.insert(std::make_pair(BaseDecl, BaseOffset)); in layoutNonVirtualBase()
3185 CharUnits BaseOffset; in layoutVirtualBases() local
3189 if (!External.getExternalVBaseOffset(BaseDecl, BaseOffset)) in layoutVirtualBases()
3190 BaseOffset = Size; in layoutVirtualBases()
3192 BaseOffset = Size.alignTo(Info.Alignment); in layoutVirtualBases()
3194 assert(BaseOffset >= Size && "base offset already allocated"); in layoutVirtualBases()
3197 ASTRecordLayout::VBaseInfo(BaseOffset, HasVtordisp))); in layoutVirtualBases()
3198 Size = BaseOffset + BaseLayout.getNonVirtualSize(); in layoutVirtualBases()
3649 CharUnits BaseOffset = Offset + Layout.getBaseClassOffset(Base); in DumpRecordLayout() local
3650 DumpRecordLayout(OS, Base, C, BaseOffset, IndentLevel, in DumpRecordLayout()