reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaDecl.cpp
16429   if (Record) {
16430     for (const auto *I : Record->decls()) {
16478                (Record || isa<ObjCContainerDecl>(EnclosingDecl))) {
16479       if (Record) {
16485         if (!Record->isUnion() && !IsLastField) {
16487             << FD->getDeclName() << FD->getType() << Record->getTagKind();
16492         } else if (Record->isUnion())
16507                                           << Record->getTagKind();
16515               << FD->getDeclName() << Record->getTagKind();
16518             << FD->getDeclName() << Record->getTagKind();
16534         Record->setHasFlexibleArrayMember(true);
16548       if (Record && FDTTy->getDecl()->hasFlexibleArrayMember()) {
16551         Record->setHasFlexibleArrayMember(true);
16552         if (!Record->isUnion()) {
16574       if (Record && FDTTy->getDecl()->hasObjectMember())
16575         Record->setHasObjectMember(true);
16576       if (Record && FDTTy->getDecl()->hasVolatileMember())
16577         Record->setHasVolatileMember(true);
16584     } else if (Record && Record->isUnion() &&
16584     } else if (Record && Record->isUnion() &&
16601                Record && !Record->hasObjectMember()) {
16601                Record && !Record->hasObjectMember()) {
16604         Record->setHasObjectMember(true);
16609           Record->setHasObjectMember(true);
16612                Record->setHasObjectMember(true);
16616     if (Record && !getLangOpts().CPlusPlus &&
16620         Record->setNonTrivialToPrimitiveDefaultInitialize(true);
16622             Record->isUnion())
16623           Record->setHasNonTrivialToPrimitiveDefaultInitializeCUnion(true);
16627         Record->setNonTrivialToPrimitiveCopy(true);
16628         if (FT.hasNonTrivialToPrimitiveCopyCUnion() || Record->isUnion())
16629           Record->setHasNonTrivialToPrimitiveCopyCUnion(true);
16632         Record->setNonTrivialToPrimitiveDestroy(true);
16633         Record->setParamDestroyedInCallee(true);
16634         if (FT.hasNonTrivialToPrimitiveDestructCUnion() || Record->isUnion())
16635           Record->setHasNonTrivialToPrimitiveDestructCUnion(true);
16641           Record->setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
16643         Record->setArgPassingRestrictions(RecordDecl::APK_CanNeverPassInRegs);
16646     if (Record && FD->getType().isVolatileQualified())
16647       Record->setHasVolatileMember(true);
16654   if (Record) {
16692                 Diag(Record->getLocation(), diag::err_multiple_final_overriders)
16693                   << (const NamedDecl *)M->first << Record;
16703                 Record->setInvalidDecl();
16714       Record->completeDefinition();
16717     ProcessDeclAttributeList(S, Record, Attrs);
16729     if (Record->hasAttrs()) {
16730       CheckAlignasUnderalignment(Record);
16732       if (const MSInheritanceAttr *IA = Record->getAttr<MSInheritanceAttr>())
16733         checkMSInheritanceAttrOnDefinition(cast<CXXRecordDecl>(Record),
16746       CXXRecordDecl *CXXRecord = cast<CXXRecordDecl>(Record);
16756       for (RecordDecl::field_iterator I = Record->field_begin(),
16757                                       E = Record->field_end();
16779           << IsEmpty << Record->isUnion() << (NonBitFields > 1);
16787           << Record->isUnion();