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

References

tools/clang/lib/Sema/SemaDecl.cpp
 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())