Home | History | Annotate | Download | only in AST

Lines Matching refs:FD

80   uint64_t getExternalFieldOffset(const FieldDecl *FD) {
81 assert(FieldOffsets.count(FD) &&
83 return FieldOffsets[FD];
133 void UpdateEmptyFieldSubobjects(const FieldDecl *FD, CharUnits Offset);
160 bool CanPlaceFieldSubobjectAtOffset(const FieldDecl *FD,
183 bool CanPlaceFieldAtOffset(const FieldDecl *FD, CharUnits Offset);
206 for (const FieldDecl *FD : Class->fields()) {
208 Context.getBaseElementType(FD->getType())->getAs<RecordType>();
429 EmptySubobjectMap::CanPlaceFieldSubobjectAtOffset(const FieldDecl *FD,
436 QualType T = FD->getType();
469 EmptySubobjectMap::CanPlaceFieldAtOffset(const FieldDecl *FD,
471 if (!CanPlaceFieldSubobjectAtOffset(FD, Offset))
476 UpdateEmptyFieldSubobjects(FD
529 void EmptySubobjectMap::UpdateEmptyFieldSubobjects(const FieldDecl *FD,
531 QualType T = FD->getType();
2226 void layoutField(const FieldDecl *FD);
2227 void layoutBitField(const FieldDecl *FD);
2230 void layoutZeroWidthBitField(const FieldDecl *FD);
2239 ElementInfo getAdjustedElementInfo(const FieldDecl *FD);
2337 const FieldDecl *FD) {
2342 Context.getTypeInfoInChars(FD->getType()->getUnqualifiedDesugaredType());
2345 Context.toCharUnitsFromBits(FD->getMaxAlignment());
2347 if (Context.isAlignmentRequired(FD->getType()))
2349 Context.getTypeAlignInChars(FD->getType()), FieldRequiredAlignment);
2351 if (FD->isBitField())
2357 FD->getType()->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
2369 if (FD->hasAttr<PackedAttr>())
2567 void MicrosoftRecordLayoutBuilder::layoutField(const FieldDecl *FD) {
2568 if (FD->isBitField()) {
2569 layoutBitField(FD);
2573 ElementInfo Info = getAdjustedElementInfo(FD);
2582 Context.toCharUnitsFromBits(External.getExternalFieldOffset(FD));
2592 void MicrosoftRecordLayoutBuilder::layoutBitField(const FieldDecl *FD) {
2593 unsigned Width = FD->getBitWidthValue(Context);
2595 layoutZeroWidthBitField(FD);
2598 ElementInfo Info = getAdjustedElementInfo(FD);
2629 MicrosoftRecordLayoutBuilder::layoutZeroWidthBitField(const FieldDecl *FD) {
2639 ElementInfo Info = getAdjustedElementInfo(FD);
3017 static uint64_t getFieldOffset(const ASTContext &C, const FieldDecl *FD) {
3018 const ASTRecordLayout &Layout = C.getASTRecordLayout(FD->getParent());
3019 return Layout.getFieldOffset(FD->getFieldIndex());
3024 if (const FieldDecl *FD = dyn_cast<FieldDecl>(VD)) {
3025 OffsetInBits = ::getFieldOffset(*this, FD);