reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
4399 if (DS.getTypeSpecType() == DeclSpec::TST_class || 4400 DS.getTypeSpecType() == DeclSpec::TST_struct || 4401 DS.getTypeSpecType() == DeclSpec::TST_interface || 4402 DS.getTypeSpecType() == DeclSpec::TST_union || 4403 DS.getTypeSpecType() == DeclSpec::TST_enum) { 4404 TagD = DS.getRepAsDecl(); 4425 if (unsigned TypeQuals = DS.getTypeQualifiers()) { 4429 Diag(DS.getRestrictSpecLoc(), 4431 << DS.getSourceRange(); 4434 if (DS.isInlineSpecified()) 4435 Diag(DS.getInlineSpecLoc(), diag::err_inline_non_function) 4438 if (DS.hasConstexprSpecifier()) { 4444 Diag(DS.getConstexprSpecLoc(), diag::err_constexpr_tag) 4445 << GetDiagnosticTypeSpecifierID(DS.getTypeSpecType()) 4446 << DS.getConstexprSpecifier(); 4448 Diag(DS.getConstexprSpecLoc(), diag::err_constexpr_wrong_decl_kind) 4449 << DS.getConstexprSpecifier(); 4454 DiagnoseFunctionSpecifiers(DS); 4456 if (DS.isFriendSpecified()) { 4461 return ActOnFriendTypeDecl(S, DS, TemplateParams); 4464 const CXXScopeSpec &SS = DS.getTypeSpecScope(); 4479 << GetDiagnosticTypeSpecifierID(DS.getTypeSpecType()) << SS.getRange(); 4489 DS.getStorageClassSpec() != DeclSpec::SCS_typedef) { 4501 return BuildAnonymousStructOrUnion(S, DS, AS, Record, 4516 DS.getStorageClassSpec() == DeclSpec::SCS_unspecified) { 4525 DS.getTypeSpecType() == DeclSpec::TST_typename) { 4530 DS.getRepAsType().get()->getAsStructureType()) 4532 else if (const RecordType *UT = DS.getRepAsType().get()->getAsUnionType()) 4536 Diag(DS.getBeginLoc(), diag::ext_ms_anonymous_record) 4537 << Record->isUnion() << DS.getSourceRange(); 4538 return BuildMicrosoftCAnonymousStruct(S, DS, Record); 4546 if (DS.getTypeSpecType() == DeclSpec::TST_error || 4551 DS.getStorageClassSpec() != DeclSpec::SCS_typedef) 4557 if (!DS.isMissingDeclaratorOk()) { 4559 if (DS.getStorageClassSpec() == DeclSpec::SCS_typedef) 4560 Diag(DS.getBeginLoc(), diag::ext_typedef_without_a_name) 4561 << DS.getSourceRange(); 4566 if (DS.isModulePrivateSpecified() && 4568 Diag(DS.getModulePrivateSpecLoc(), diag::err_module_private_local_class) 4570 << FixItHint::CreateRemoval(DS.getModulePrivateSpecLoc()); 4585 Diag(DS.getBeginLoc(), diag::ext_no_declarators) << DS.getSourceRange(); 4585 Diag(DS.getBeginLoc(), diag::ext_no_declarators) << DS.getSourceRange(); 4604 if (DeclSpec::SCS SCS = DS.getStorageClassSpec()) { 4608 Diag(DS.getStorageClassSpecLoc(), diag::err_mutable_nonmember); 4609 else if (!DS.isExternInLinkageSpec() && SCS != DeclSpec::SCS_typedef) 4610 Diag(DS.getStorageClassSpecLoc(), DiagID) 4614 if (DeclSpec::TSCS TSCS = DS.getThreadStorageClassSpec()) 4615 Diag(DS.getThreadStorageClassSpecLoc(), DiagID) 4617 if (DS.getTypeQualifiers()) { 4618 if (DS.getTypeQualifiers() & DeclSpec::TQ_const) 4619 Diag(DS.getConstSpecLoc(), DiagID) << "const"; 4620 if (DS.getTypeQualifiers() & DeclSpec::TQ_volatile) 4621 Diag(DS.getConstSpecLoc(), DiagID) << "volatile"; 4623 if (DS.getTypeQualifiers() & DeclSpec::TQ_atomic) 4624 Diag(DS.getAtomicSpecLoc(), DiagID) << "_Atomic"; 4625 if (DS.getTypeQualifiers() & DeclSpec::TQ_unaligned) 4626 Diag(DS.getUnalignedSpecLoc(), DiagID) << "__unaligned"; 4632 if (!DS.getAttributes().empty()) { 4633 DeclSpec::TST TypeSpecType = DS.getTypeSpecType(); 4639 for (const ParsedAttr &AL : DS.getAttributes())