Lines Matching refs:FD
87 void UpdateEmptyFieldSubobjects(const FieldDecl *FD, CharUnits Offset);
114 bool CanPlaceFieldSubobjectAtOffset(const FieldDecl *FD,
137 bool CanPlaceFieldAtOffset(const FieldDecl *FD, CharUnits Offset);
164 const FieldDecl *FD = *I; in ComputeEmptySubobjectSizes() local
167 Context.getBaseElementType(FD->getType())->getAs<RecordType>(); in ComputeEmptySubobjectSizes()
264 const FieldDecl *FD = *I; in CanPlaceBaseSubobjectAtOffset() local
265 if (FD->isBitField()) in CanPlaceBaseSubobjectAtOffset()
269 if (!CanPlaceFieldSubobjectAtOffset(FD, FieldOffset)) in CanPlaceBaseSubobjectAtOffset()
313 const FieldDecl *FD = *I; in UpdateEmptyBaseSubobjects() local
314 if (FD->isBitField()) in UpdateEmptyBaseSubobjects()
318 UpdateEmptyFieldSubobjects(FD, FieldOffset); in UpdateEmptyBaseSubobjects()
383 const FieldDecl *FD = *I; in CanPlaceFieldSubobjectAtOffset() local
384 if (FD->isBitField()) in CanPlaceFieldSubobjectAtOffset()
389 if (!CanPlaceFieldSubobjectAtOffset(FD, FieldOffset)) in CanPlaceFieldSubobjectAtOffset()
397 EmptySubobjectMap::CanPlaceFieldSubobjectAtOffset(const FieldDecl *FD, in CanPlaceFieldSubobjectAtOffset() argument
404 QualType T = FD->getType(); in CanPlaceFieldSubobjectAtOffset()
439 EmptySubobjectMap::CanPlaceFieldAtOffset(const FieldDecl *FD, in CanPlaceFieldAtOffset() argument
441 if (!CanPlaceFieldSubobjectAtOffset(FD, Offset)) in CanPlaceFieldAtOffset()
446 UpdateEmptyFieldSubobjects(FD, Offset); in CanPlaceFieldAtOffset()
494 const FieldDecl *FD = *I; in UpdateEmptyFieldSubobjects() local
495 if (FD->isBitField()) in UpdateEmptyFieldSubobjects()
500 UpdateEmptyFieldSubobjects(FD, FieldOffset); in UpdateEmptyFieldSubobjects()
504 void EmptySubobjectMap::UpdateEmptyFieldSubobjects(const FieldDecl *FD, in UpdateEmptyFieldSubobjects() argument
506 QualType T = FD->getType(); in UpdateEmptyFieldSubobjects()
1543 FieldDecl *FD = (*Field); in LayoutFields() local
1544 if (Context.ZeroBitfieldFollowsBitfield(FD, LastFD)) in LayoutFields()
1545 ZeroLengthBitfield = FD; in LayoutFields()
1548 else if (Context.ZeroBitfieldFollowsNonBitfield(FD, LastFD)) in LayoutFields()
1551 else if (Context.BitfieldFollowsBitfield(FD, LastFD) || in LayoutFields()
1552 Context.BitfieldFollowsNonBitfield(FD, LastFD) || in LayoutFields()
1553 Context.NonBitfieldFollowsBitfield(FD, LastFD)) { in LayoutFields()
1564 Context.getTypeInfo(FD->getType()); in LayoutFields()
1569 (Context.hasSameType(FD->getType(), in LayoutFields()
1571 ||Context.hasSameType(FD->getType(), in LayoutFields()
1618 if (FD->isBitField()) { in LayoutFields()
1619 uint64_t FieldSize = FD->getBitWidthValue(Context); in LayoutFields()
1627 else if (FD->isBitField()) { in LayoutFields()
1628 uint64_t FieldSize = FD->getBitWidthValue(Context); in LayoutFields()
1630 Context.getTypeInfo(FD->getType()); in LayoutFields()
1634 LastFD = FD; in LayoutFields()
1638 FieldDecl *FD = (*Field); in LayoutFields() local
1639 if (FD->isBitField() && FD->getBitWidthValue(Context) == 0) in LayoutFields()
1640 ZeroLengthBitfield = FD; in LayoutFields()
2285 static uint64_t getFieldOffset(const ASTContext &C, const FieldDecl *FD) { in getFieldOffset() argument
2286 const ASTRecordLayout &Layout = C.getASTRecordLayout(FD->getParent()); in getFieldOffset()
2287 return Layout.getFieldOffset(FD->getFieldIndex()); in getFieldOffset()
2292 if (const FieldDecl *FD = dyn_cast<FieldDecl>(VD)) { in getFieldOffset() local
2293 OffsetInBits = ::getFieldOffset(*this, FD); in getFieldOffset()