|
clang 24.0.0git
|
Captures information about "declaration specifiers". More...
#include "clang/Sema/DeclSpec.h"
Public Types | |
| enum | SCS { SCS_unspecified = 0 , SCS_typedef , SCS_extern , SCS_static , SCS_auto , SCS_register , SCS_private_extern , SCS_mutable } |
| storage-class-specifier More... | |
| enum | TSC { TSC_unspecified , TSC_imaginary , TSC_complex } |
| enum | TQ { TQ_unspecified = 0 , TQ_const = 1 , TQ_restrict = 2 , TQ_volatile = 4 , TQ_unaligned = 8 , TQ_atomic = 16 } |
| enum | ParsedSpecifiers { PQ_None = 0 , PQ_StorageClassSpecifier = 1 , PQ_TypeSpecifier = 2 , PQ_TypeQualifier = 4 , PQ_FunctionSpecifier = 8 } |
| ParsedSpecifiers - Flags to query which specifiers were applied. More... | |
| enum | FriendSpecified : bool { No , Yes } |
| enum class | OverflowBehaviorState { Unspecified , Wrap , Trap } |
| typedef ThreadStorageClassSpecifier | TSCS |
| typedef TypeSpecifierType | TST |
Static Public Member Functions | |
| static bool | isDeclRep (TST T) |
| static bool | isTransformTypeTrait (TST T) |
| static const char * | getSpecifierName (DeclSpec::TST T, const PrintingPolicy &Policy) |
| Turn a type-specifier-type into a string like "_Bool" or "union". | |
| static const char * | getSpecifierName (DeclSpec::TQ Q) |
| static const char * | getSpecifierName (TypeSpecifierSign S) |
| static const char * | getSpecifierName (DeclSpec::TSC C) |
| static const char * | getSpecifierName (TypeSpecifierWidth W) |
| static const char * | getSpecifierName (DeclSpec::SCS S) |
| static const char * | getSpecifierName (DeclSpec::TSCS S) |
| static const char * | getSpecifierName (ConstexprSpecKind C) |
| static const char * | getSpecifierName (OverflowBehaviorState S) |
Static Public Attributes | |
| static const TSCS | TSCS_unspecified = clang::TSCS_unspecified |
| static const TSCS | TSCS___thread = clang::TSCS___thread |
| static const TSCS | TSCS_thread_local = clang::TSCS_thread_local |
| static const TSCS | TSCS__Thread_local = clang::TSCS__Thread_local |
| static const TST | TST_unspecified = clang::TST_unspecified |
| static const TST | TST_void = clang::TST_void |
| static const TST | TST_char = clang::TST_char |
| static const TST | TST_wchar = clang::TST_wchar |
| static const TST | TST_char8 = clang::TST_char8 |
| static const TST | TST_char16 = clang::TST_char16 |
| static const TST | TST_char32 = clang::TST_char32 |
| static const TST | TST_int = clang::TST_int |
| static const TST | TST_int128 = clang::TST_int128 |
| static const TST | TST_bitint = clang::TST_bitint |
| static const TST | TST_half = clang::TST_half |
| static const TST | TST_BFloat16 = clang::TST_BFloat16 |
| static const TST | TST_float = clang::TST_float |
| static const TST | TST_double = clang::TST_double |
| static const TST | TST_float16 = clang::TST_Float16 |
| static const TST | TST_accum = clang::TST_Accum |
| static const TST | TST_fract = clang::TST_Fract |
| static const TST | TST_float128 = clang::TST_float128 |
| static const TST | TST_ibm128 = clang::TST_ibm128 |
| static const TST | TST_bool = clang::TST_bool |
| static const TST | TST_decimal32 = clang::TST_decimal32 |
| static const TST | TST_decimal64 = clang::TST_decimal64 |
| static const TST | TST_decimal128 = clang::TST_decimal128 |
| static const TST | TST_enum = clang::TST_enum |
| static const TST | TST_union = clang::TST_union |
| static const TST | TST_struct = clang::TST_struct |
| static const TST | TST_interface = clang::TST_interface |
| static const TST | TST_class = clang::TST_class |
| static const TST | TST_typename = clang::TST_typename |
| static const TST | TST_typeofType = clang::TST_typeofType |
| static const TST | TST_typeofExpr = clang::TST_typeofExpr |
| static const TST | TST_typeof_unqualType = clang::TST_typeof_unqualType |
| static const TST | TST_typeof_unqualExpr = clang::TST_typeof_unqualExpr |
| static const TST | TST_decltype = clang::TST_decltype |
| static const TST | TST_decltype_auto = clang::TST_decltype_auto |
| static const TST | TST_typename_pack_indexing |
| static const TST | TST_auto = clang::TST_auto |
| static const TST | TST_auto_type = clang::TST_auto_type |
| static const TST | TST_unknown_anytype = clang::TST_unknown_anytype |
| static const TST | TST_atomic = clang::TST_atomic |
| static const TST | TST_error = clang::TST_error |
Captures information about "declaration specifiers".
"Declaration specifiers" encompasses storage-class-specifiers, type-specifiers, type-qualifiers, and function-specifiers.
Definition at line 279 of file DeclSpec.h.
Definition at line 296 of file DeclSpec.h.
Definition at line 309 of file DeclSpec.h.
| Enumerator | |
|---|---|
| No | |
| Yes | |
Definition at line 388 of file DeclSpec.h.
|
strong |
| Enumerator | |
|---|---|
| Unspecified | |
| Wrap | |
| Trap | |
Definition at line 390 of file DeclSpec.h.
ParsedSpecifiers - Flags to query which specifiers were applied.
This is returned by getParsedSpecifiers.
| Enumerator | |
|---|---|
| PQ_None | |
| PQ_StorageClassSpecifier | |
| PQ_TypeSpecifier | |
| PQ_TypeQualifier | |
| PQ_FunctionSpecifier | |
Definition at line 379 of file DeclSpec.h.
| enum clang::DeclSpec::SCS |
storage-class-specifier
| Enumerator | |
|---|---|
| SCS_unspecified | |
| SCS_typedef | |
| SCS_extern | |
| SCS_static | |
| SCS_auto | |
| SCS_register | |
| SCS_private_extern | |
| SCS_mutable | |
Definition at line 283 of file DeclSpec.h.
| enum clang::DeclSpec::TQ |
| Enumerator | |
|---|---|
| TQ_unspecified | |
| TQ_const | |
| TQ_restrict | |
| TQ_volatile | |
| TQ_unaligned | |
| TQ_atomic | |
Definition at line 366 of file DeclSpec.h.
| enum clang::DeclSpec::TSC |
| Enumerator | |
|---|---|
| TSC_unspecified | |
| TSC_imaginary | |
| TSC_complex | |
Definition at line 302 of file DeclSpec.h.
|
inline |
Definition at line 532 of file DeclSpec.h.
References false, clang::nullptr, SCS_unspecified, TQ_unspecified, TSC_unspecified, TSCS_unspecified, TST_unspecified, unsigned, and Unspecified.
|
inline |
Concatenates two attribute lists.
The GCC attribute syntax allows for the following:
This declares 4 attributes using 2 lists. The following syntax is also allowed and equivalent to the previous declaration.
Definition at line 940 of file DeclSpec.h.
References clang::ParsedAttributesView::begin(), and clang::ParsedAttributesView::end().
Referenced by clang::Parser::ParseTypeName().
| void DeclSpec::CheckFriendSpec | ( | Sema & | S, |
| const PrintingPolicy & | Policy ) |
Definition at line 1459 of file DeclSpec.cpp.
References ClearStorageClassSpecs(), clang::FixItHint::CreateRemoval(), clang::SemaBase::Diag(), getExplicitSpecLoc(), getExplicitSpecRange(), getSpecifierName(), getStorageClassSpec(), getStorageClassSpecLoc(), getThreadStorageClassSpec(), getThreadStorageClassSpecLoc(), getVirtualSpecLoc(), hasExplicitSpecifier(), isFriendSpecified(), isVirtualSpecified(), and clang::Keyword.
Referenced by Finish().
| void DeclSpec::CheckTypeSpec | ( | Sema & | S, |
| const PrintingPolicy & | Policy ) |
Definition at line 1176 of file DeclSpec.cpp.
References clang::Consteval, clang::Constexpr, clang::Constinit, clang::Sema::Context, clang::FixItHint::CreateInsertion(), clang::FixItHint::CreateRemoval(), clang::SemaBase::Diag(), getConstexprSpecifier(), getConstexprSpecLoc(), clang::Sema::getLangOpts(), clang::Sema::getLocForEndOfToken(), clang::Sema::getSourceManager(), getSpecifierName(), getStorageClassSpec(), getStorageClassSpecLoc(), clang::ASTContext::getTargetInfo(), getThreadStorageClassSpec(), getThreadStorageClassSpecLoc(), clang::TargetInfo::getTriple(), getTypeSpecComplexLoc(), getTypeSpecSign(), getTypeSpecType(), getTypeSpecWidth(), clang::TargetInfo::hasFeature(), clang::LangOptionsBase::HLSL_202x, clang::SourceManager::isBeforeInTranslationUnit(), clang::SourceLocation::isInvalid(), clang::Long, clang::LongLong, SCS_auto, SCS_extern, SCS_private_extern, SCS_static, SCS_unspecified, clang::Short, TSC_unspecified, TSCS_unspecified, TST_accum, TST_auto, TST_bitint, TST_char, TST_char16, TST_char32, TST_char8, TST_decltype_auto, TST_double, TST_error, TST_float, TST_float128, TST_float16, TST_fract, TST_ibm128, TST_int, TST_int128, TST_unspecified, TST_wchar, clang::Unsigned, and clang::Unspecified.
Referenced by Finish().
|
inline |
Definition at line 914 of file DeclSpec.h.
References clang::Unspecified.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), and CreateNewFunctionDecl().
|
inline |
Definition at line 737 of file DeclSpec.h.
|
inline |
Definition at line 566 of file DeclSpec.h.
References SCS_unspecified, and TSCS_unspecified.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), CheckFriendSpec(), and getFunctionStorageClass().
|
inline |
Clear out all of the type qualifiers.
Definition at line 697 of file DeclSpec.h.
References Unspecified.
Referenced by clang::Sema::BuildAnonymousStructOrUnion(), and checkOmittedBlockReturnType().
|
inline |
Definition at line 574 of file DeclSpec.h.
References TST_unspecified.
| void DeclSpec::Finish | ( | Sema & | S, |
| const PrintingPolicy & | Policy ) |
Finish - This does final analysis of the declspec, issuing diagnostics for things like "_Complex" (lacking an FP type).
Finish - This does final analysis of the declspec, rejecting things like "_Complex" (lacking an FP type).
After calling this method, DeclSpec is guaranteed self-consistent, even if an error occurred.
After calling this method, DeclSpec is guaranteed to be self-consistent, even if an error occurred.
Definition at line 1157 of file DeclSpec.cpp.
References CheckFriendSpec(), CheckTypeSpec(), and isDeclRep().
| void DeclSpec::forEachCVRUQualifier | ( | llvm::function_ref< void(TQ, StringRef, SourceLocation)> | Handle | ) |
This method calls the passed in handler on each CVRU qual being set.
Handle - a handler to be invoked.
Definition at line 417 of file DeclSpec.cpp.
References TQ_const, TQ_restrict, TQ_unaligned, and TQ_volatile.
Referenced by forEachQualifier(), and clang::DeclaratorChunk::getFunction().
| void DeclSpec::forEachQualifier | ( | llvm::function_ref< void(TQ, StringRef, SourceLocation)> | Handle | ) |
This method calls the passed in handler on each qual being set.
Handle - a handler to be invoked.
Definition at line 429 of file DeclSpec.cpp.
References forEachCVRUQualifier().
Referenced by checkMethodTypeQualifiers(), and GetFullTypeForDeclarator().
|
inline |
Definition at line 634 of file DeclSpec.h.
|
inline |
Definition at line 672 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendTypeDecl(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildQualifiedType(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), diagnoseAndRemoveTypeQualifiers(), diagnoseRedundantReturnTypeQualifiers(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 919 of file DeclSpec.h.
Referenced by GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), and takeDeclAttributes().
|
inline |
Definition at line 946 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), addContextSensitiveTypeNullability(), checkOmittedBlockReturnType(), clang::Sema::checkUnusedDeclAttributes(), ConvertDeclSpecToType(), distributeObjCPointerTypeAttrFromDeclarator(), getCCForDeclaratorChunk(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), GetTypeSourceInfoForDeclarator(), hasParsedAttr(), clang::Sema::ImplicitlyDefineFunction(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Parser::ParseTypeName(), clang::Sema::ProcessDeclAttributes(), and takeDeclAttributes().
|
inline |
Definition at line 947 of file DeclSpec.h.
|
inline |
Definition at line 626 of file DeclSpec.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::Sema::CheckDeductionGuideDeclarator(), ConvertDeclSpecToType(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 905 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnVariableDeclarator(), CheckTypeSpec(), CreateNewFunctionDecl(), GetFullTypeForDeclarator(), hasConstexprSpecifier(), clang::Sema::ParsedFreeStandingDeclSpec(), and SetConstexprSpec().
|
inline |
Definition at line 909 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::CheckMain(), CheckTypeSpec(), CreateNewFunctionDecl(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 669 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendTypeDecl(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), ConvertDeclSpecToType(), diagnoseAndRemoveTypeQualifiers(), diagnoseRedundantReturnTypeQualifiers(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 675 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierIndexedPack(), and clang::Sema::ActOnPseudoDestructorExpr().
|
inline |
Definition at line 627 of file DeclSpec.h.
Referenced by GetFullTypeForDeclarator().
|
inline |
Definition at line 717 of file DeclSpec.h.
Referenced by CreateNewFunctionDecl().
|
inline |
Definition at line 727 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::CheckConversionDeclarator(), CheckFriendSpec(), and clang::Sema::DiagnoseFunctionSpecifiers().
|
inline |
Definition at line 728 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::CheckConversionDeclarator(), and CheckFriendSpec().
|
inline |
Definition at line 900 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendFunctionDecl(), and clang::Sema::ActOnFriendTypeDecl().
|
inline |
Definition at line 713 of file DeclSpec.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::CheckMain(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 949 of file DeclSpec.h.
|
inline |
Definition at line 950 of file DeclSpec.h.
|
inline |
Definition at line 903 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ParsedFreeStandingDeclSpec(), and clang::Sema::ParseTypedefDecl().
|
inline |
Definition at line 735 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::CheckMain(), and clang::Sema::DiagnoseFunctionSpecifiers().
|
inline |
Definition at line 971 of file DeclSpec.h.
|
inline |
Definition at line 690 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 678 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), isOverflowBehaviorSpecified(), isTrapSpecified(), isWrapSpecified(), and SetOverflowBehavior().
|
inline |
Definition at line 611 of file DeclSpec.h.
References TST_typename_pack_indexing.
Referenced by clang::Sema::ActOnPseudoDestructorExpr().
| unsigned DeclSpec::getParsedSpecifiers | ( | ) | const |
Return a bitmask of which flavors of specifiers this DeclSpec includes.
getParsedSpecifiers - Return a bitmask of which flavors of specifiers this declaration specifier includes.
Definition at line 444 of file DeclSpec.cpp.
References hasExplicitSpecifier(), hasTypeSpecifier(), PQ_FunctionSpecifier, PQ_StorageClassSpecifier, PQ_TypeQualifier, PQ_TypeSpecifier, SCS_unspecified, TQ_unspecified, and TSCS_unspecified.
Referenced by clang::SemaCodeCompletion::CodeCompleteDeclSpec(), GetDeclSpecTypeForDeclarator(), isEmpty(), and warnAboutRedundantParens().
|
inline |
Definition at line 674 of file DeclSpec.h.
|
inline |
Definition at line 602 of file DeclSpec.h.
References DeclRep, and isDeclRep().
Referenced by ConvertDeclSpecToType(), DiagnoseCountAttributedTypeInUnnamedAnon(), clang::Sema::FinalizeDeclaratorGroup(), GetDeclSpecTypeForDeclarator(), GetDiagnosticTypeSpecifierID(), GetFullTypeForDeclarator(), hasTagDefinition(), isMissingDeclaratorOk(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Sema::ParseTypedefDecl(), and clang::Parser::ParseTypeName().
|
inline |
Definition at line 606 of file DeclSpec.h.
References ExprRep.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::BuildMemInitializer(), clang::Sema::containsUnexpandedParameterPacks(), ConvertDeclSpecToType(), clang::Sema::getDestructorTypeForDecltype(), and RebuildDeclaratorInCurrentInstantiation().
|
inline |
Definition at line 617 of file DeclSpec.h.
References TemplateIdRep.
Referenced by ConvertDeclSpecToType(), and InventTemplateParameter().
|
inline |
Definition at line 598 of file DeclSpec.h.
References isTypeRep(), and TypeRep.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::BuildMemInitializer(), clang::SemaCodeCompletion::CodeCompleteDeclSpec(), clang::Sema::containsUnexpandedParameterPacks(), ConvertDeclSpecToType(), CreateNewFunctionDecl(), clang::Sema::ParsedFreeStandingDeclSpec(), and RebuildDeclaratorInCurrentInstantiation().
|
inline |
Definition at line 670 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendTypeDecl(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildQualifiedType(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), diagnoseAndRemoveTypeQualifiers(), diagnoseRedundantReturnTypeQualifiers(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 625 of file DeclSpec.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::BuildAnonymousStructOrUnion(), ConvertDeclSpecToType(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
static |
Definition at line 599 of file DeclSpec.cpp.
References clang::C, clang::Consteval, clang::Constexpr, clang::Constinit, and clang::Unspecified.
|
static |
Definition at line 475 of file DeclSpec.cpp.
References SCS_auto, SCS_extern, SCS_mutable, SCS_private_extern, SCS_register, SCS_static, SCS_typedef, and SCS_unspecified.
|
static |
Definition at line 613 of file DeclSpec.cpp.
References clang::T, TQ_atomic, TQ_const, TQ_restrict, TQ_unaligned, TQ_unspecified, and TQ_volatile.
|
static |
Definition at line 513 of file DeclSpec.cpp.
References clang::C, TSC_complex, TSC_imaginary, and TSC_unspecified.
|
static |
Definition at line 489 of file DeclSpec.cpp.
References TSCS___thread, TSCS__Thread_local, TSCS_thread_local, and TSCS_unspecified.
|
static |
Turn a type-specifier-type into a string like "_Bool" or "union".
Definition at line 534 of file DeclSpec.cpp.
References clang::PrintingPolicy::Bool, clang::PrintingPolicy::MSWChar, clang::T, TST_accum, TST_atomic, TST_auto, TST_auto_type, TST_BFloat16, TST_bitint, TST_bool, TST_char, TST_char16, TST_char32, TST_char8, TST_class, TST_decimal128, TST_decimal32, TST_decimal64, TST_decltype, TST_decltype_auto, TST_double, TST_enum, TST_error, TST_float, TST_float128, TST_float16, TST_fract, TST_half, TST_ibm128, TST_int, TST_int128, TST_interface, TST_struct, TST_typename, TST_typename_pack_indexing, TST_typeof_unqualExpr, TST_typeof_unqualType, TST_typeofExpr, TST_typeofType, TST_union, TST_unknown_anytype, TST_unspecified, TST_void, and TST_wchar.
Referenced by clang::Sema::ActOnDecompositionDeclarator(), clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), BadSpecifier(), CheckFriendSpec(), CheckTypeSpec(), ConvertDeclSpecToType(), diagnoseAndRemoveTypeQualifiers(), GetFullTypeForDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), clang::Sema::ParsedFreeStandingDeclSpec(), SetBitIntType(), SetStorageClassSpec(), SetTypeAltiVecBool(), SetTypeAltiVecPixel(), SetTypeAltiVecVector(), SetTypePipe(), SetTypeSpecType(), SetTypeSpecType(), SetTypeSpecType(), and SetTypeSpecType().
|
static |
Definition at line 625 of file DeclSpec.cpp.
References Trap, Unspecified, and Wrap.
|
static |
Definition at line 522 of file DeclSpec.cpp.
References clang::Signed, clang::Unsigned, and clang::Unspecified.
|
static |
Definition at line 499 of file DeclSpec.cpp.
References clang::Long, clang::LongLong, clang::Short, and clang::Unspecified.
|
inline |
Definition at line 552 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXConditionDeclaration(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::CheckExplicitObjectMemberFunction(), CheckFriendSpec(), CheckTypeSpec(), ConvertDeclSpecToType(), getCCForDeclaratorChunk(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), getFunctionStorageClass(), getLambdaType(), clang::Sema::HandleDeclarator(), clang::Declarator::isStaticMember(), clang::Sema::ParsedFreeStandingDeclSpec(), StorageClassSpecToVarDeclStorageClass(), and warnAboutAmbiguousFunction().
|
inline |
Definition at line 561 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), clang::Sema::CheckFieldDecl(), CheckFriendSpec(), clang::Sema::CheckMain(), CheckTypeSpec(), getFunctionStorageClass(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 553 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), CheckFriendSpec(), CheckTypeSpec(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 562 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), CheckFriendSpec(), CheckTypeSpec(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 643 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnPseudoDestructorExpr(), and clang::Sema::getDestructorTypeForDecltype().
|
inline |
getTypeQualifiers - Return a set of TQs.
Definition at line 668 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnFriendTypeDecl(), AddTypeQualifierResults(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), checkOmittedBlockReturnType(), ConvertDeclSpecToType(), diagnoseRedundantReturnTypeQualifiers(), GetFullTypeForDeclarator(), clang::DeclaratorChunk::getFunction(), clang::Sema::ParsedFreeStandingDeclSpec(), and warnAboutRedundantParens().
|
inline |
Definition at line 584 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteDeclSpec(), ConvertDeclSpecToType(), and hasTypeSpecifier().
|
inline |
Definition at line 631 of file DeclSpec.h.
Referenced by CheckTypeSpec(), and ConvertDeclSpecToType().
|
inline |
Definition at line 635 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 622 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and InventTemplateParameter().
|
inline |
Definition at line 623 of file DeclSpec.h.
|
inline |
Definition at line 585 of file DeclSpec.h.
Referenced by CheckTypeSpec(), clang::SemaCodeCompletion::CodeCompleteDeclSpec(), ConvertDeclSpecToType(), hasTypeSpecifier(), and SetTypeSpecSign().
|
inline |
Definition at line 632 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 588 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnCXXNestedNameSpecifierIndexedPack(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::BuildMemInitializer(), CheckTypeSpec(), clang::SemaCodeCompletion::CodeCompleteDeclSpec(), clang::Sema::containsUnexpandedParameterPacks(), ConvertDeclSpecToType(), DiagnoseCountAttributedTypeInUnnamedAnon(), clang::Sema::FinalizeDeclaratorGroup(), clang::Sema::getDestructorTypeForDecltype(), GetDiagnosticTypeSpecifierID(), GetFullTypeForDeclarator(), hasTypeSpecifier(), isMissingDeclaratorOk(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Sema::ParseTypedefDecl(), and RebuildDeclaratorInCurrentInstantiation().
|
inline |
Definition at line 633 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::BuildMemInitializer(), clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), ConvertDeclSpecToType(), CreateNewFunctionDecl(), GetDeclSpecTypeForDeclarator(), clang::Sema::getDestructorTypeForDecltype(), GetFullTypeForDeclarator(), InventTemplateParameter(), and RebuildDeclaratorInCurrentInstantiation().
|
inline |
Definition at line 637 of file DeclSpec.h.
References isDeclRep(), and isTypeRep().
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 581 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), hasTypeSpecifier(), and SetTypeSpecWidth().
|
inline |
Definition at line 629 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 630 of file DeclSpec.h.
|
inline |
Definition at line 673 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendTypeDecl(), clang::Sema::BuildAnonymousStructOrUnion(), diagnoseRedundantReturnTypeQualifiers(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 722 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::CheckConstructorDeclarator(), CheckFriendSpec(), and clang::Sema::DiagnoseFunctionSpecifiers().
|
inline |
Definition at line 671 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendTypeDecl(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckDestructorDeclarator(), ConvertDeclSpecToType(), diagnoseAndRemoveTypeQualifiers(), and diagnoseRedundantReturnTypeQualifiers().
|
inline |
Definition at line 967 of file DeclSpec.h.
|
inline |
Definition at line 944 of file DeclSpec.h.
|
inline |
Definition at line 646 of file DeclSpec.h.
References TST_auto, TST_auto_type, and TST_decltype_auto.
Referenced by clang::Sema::ActOnCXXNew(), clang::Sema::canDelayFunctionBody(), clang::Sema::FinalizeDeclaratorGroup(), and GetFullTypeForDeclarator().
|
inline |
Definition at line 910 of file DeclSpec.h.
References getConstexprSpecifier(), and clang::Unspecified.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::canDelayFunctionBody(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 724 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::CheckConversionDeclarator(), CheckFriendSpec(), clang::Sema::DiagnoseFunctionSpecifiers(), getParsedSpecifiers(), and setFunctionSpecExplicit().
| bool DeclSpec::hasTagDefinition | ( | ) | const |
Definition at line 435 of file DeclSpec.cpp.
References clang::cast(), and getRepAsDecl().
Referenced by GetFullTypeForDeclarator().
|
inline |
Return true if any type-specifier has been found.
Definition at line 764 of file DeclSpec.h.
References getTypeSpecComplex(), getTypeSpecSign(), getTypeSpecType(), getTypeSpecWidth(), TSC_unspecified, TST_unspecified, and clang::Unspecified.
Referenced by clang::Sema::CheckConversionDeclarator(), clang::Sema::CheckDestructorDeclarator(), ConvertDeclSpecToType(), getParsedSpecifiers(), and isOmittedBlockReturnType().
|
inline |
Definition at line 596 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
Definition at line 518 of file DeclSpec.h.
References clang::T, TST_class, TST_enum, TST_interface, TST_struct, and TST_union.
Referenced by clang::Sema::FinalizeDeclaratorGroup(), Finish(), getRepAsDecl(), getTypeSpecTypeNameLoc(), isMissingDeclaratorOk(), SetTypeSpecType(), SetTypeSpecType(), and UpdateDeclRep().
|
inline |
isEmpty - Return true if this declaration specifier is completely empty: no tokens were parsed in the production of it.
Definition at line 777 of file DeclSpec.h.
References getParsedSpecifiers(), and PQ_None.
Referenced by SetFriendSpec().
|
inline |
Definition at line 556 of file DeclSpec.h.
Referenced by getFunctionStorageClass(), clang::Sema::ParsedFreeStandingDeclSpec(), and StorageClassSpecToVarDeclStorageClass().
|
inline |
Definition at line 894 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFriendTypeDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::CheckExplicitObjectMemberFunction(), CheckFriendSpec(), CreateNewFunctionDecl(), GetDeclSpecTypeForDeclarator(), GetFullTypeForDeclarator(), clang::Sema::HandleDeclarator(), clang::Sema::isDeclaratorFunctionLike(), clang::Declarator::isFirstDeclarationOfMember(), clang::Sema::ParsedFreeStandingDeclSpec(), and SetFriendSpec().
|
inline |
Definition at line 898 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFriendTypeDecl().
|
inline |
Definition at line 710 of file DeclSpec.h.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCExceptionDecl(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnTypedefDeclarator(), clang::Sema::ActOnVariableDeclarator(), CreateNewFunctionDecl(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), and clang::Sema::ParsedFreeStandingDeclSpec().
| bool DeclSpec::isMissingDeclaratorOk | ( | ) |
Checks if this DeclSpec can stand alone, without a Declarator.
Only tag declspecs can stand alone.
Definition at line 1519 of file DeclSpec.cpp.
References getRepAsDecl(), getTypeSpecType(), isDeclRep(), and SCS_typedef.
Referenced by clang::Sema::ParsedFreeStandingDeclSpec().
|
inline |
Definition at line 902 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnParamDeclarator(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::HandleField(), clang::Sema::HandleMSProperty(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Sema::ParseTypedefDecl(), and setModulePrivateSpec().
|
inline |
Definition at line 734 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::CheckMain(), and clang::Sema::DiagnoseFunctionSpecifiers().
|
inline |
Definition at line 687 of file DeclSpec.h.
References getOverflowBehaviorState(), and Unspecified.
Referenced by ConvertDeclSpecToType().
Definition at line 523 of file DeclSpec.h.
References clang::T.
|
inline |
Definition at line 684 of file DeclSpec.h.
References getOverflowBehaviorState(), and Trap.
Referenced by HandleOverflowBehaviorAttr().
|
inline |
Definition at line 591 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 590 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 589 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteDeclSpec(), and ConvertDeclSpecToType().
|
inline |
Definition at line 593 of file DeclSpec.h.
References isTypeRep().
Referenced by getRepAsType(), getTypeSpecTypeNameLoc(), isTypeRep(), SetTypeSpecType(), SetTypeSpecType(), and UpdateTypeRep().
|
inline |
Definition at line 592 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), clang::Sema::FinalizeDeclaratorGroup(), GetDeclSpecTypeForDeclarator(), and clang::Parser::ParseTypeName().
|
inline |
Definition at line 594 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 595 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType().
|
inline |
Definition at line 721 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::CheckConstructorDeclarator(), clang::Sema::CheckExplicitObjectMemberFunction(), CheckFriendSpec(), and clang::Sema::DiagnoseFunctionSpecifiers().
|
inline |
Definition at line 681 of file DeclSpec.h.
References getOverflowBehaviorState(), and Wrap.
Referenced by ConvertDeclSpecToType(), and HandleOverflowBehaviorAttr().
| bool DeclSpec::SetBitIntType | ( | SourceLocation | KWLoc, |
| Expr * | BitWidth, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 955 of file DeclSpec.cpp.
References ExprRep, getSpecifierName(), TST_bitint, TST_error, and TST_unspecified.
| bool DeclSpec::SetConstexprSpec | ( | ConstexprSpecKind | ConstexprKind, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1135 of file DeclSpec.cpp.
References BadSpecifier(), getConstexprSpecifier(), and clang::Unspecified.
Referenced by addConstevalToLambdaDeclSpecifier(), and addConstexprToLambdaDeclSpecifier().
|
inline |
Definition at line 557 of file DeclSpec.h.
| bool DeclSpec::SetFriendSpec | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1110 of file DeclSpec.cpp.
References isEmpty(), and isFriendSpecified().
| bool DeclSpec::setFunctionSpecExplicit | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| ExplicitSpecifier | ExplicitSpec, | ||
| SourceLocation | CloseParenLoc ) |
Definition at line 1076 of file DeclSpec.cpp.
References clang::ExplicitSpecifier::getExpr(), and hasExplicitSpecifier().
| bool DeclSpec::setFunctionSpecForceInline | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1049 of file DeclSpec.cpp.
| bool DeclSpec::setFunctionSpecInline | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1035 of file DeclSpec.cpp.
| bool DeclSpec::setFunctionSpecNoreturn | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1095 of file DeclSpec.cpp.
| bool DeclSpec::setFunctionSpecVirtual | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1061 of file DeclSpec.cpp.
| bool DeclSpec::setModulePrivateSpec | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1123 of file DeclSpec.cpp.
References isModulePrivateSpecified().
|
inline |
Definition at line 972 of file DeclSpec.h.
| bool DeclSpec::SetOverflowBehavior | ( | OverflowBehaviorType::OverflowBehaviorKind | Kind, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 1016 of file DeclSpec.cpp.
References BadSpecifier(), getOverflowBehaviorState(), Trap, Unspecified, and Wrap.
| void DeclSpec::SetPackIndexingExpr | ( | SourceLocation | EllipsisLoc, |
| Expr * | Pack ) |
Definition at line 976 of file DeclSpec.cpp.
References TST_typename, and TST_typename_pack_indexing.
|
inline |
Definition at line 782 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), and clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers().
|
inline |
Definition at line 781 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), and clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers().
| bool DeclSpec::SetStorageClassSpec | ( | Sema & | S, |
| SCS | SC, | ||
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
These methods set the specified attribute of the DeclSpec and return false if there was no error.
If an error occurs (for example, if we tried to set "auto" on a spec with "extern" already set), they return true and set PrevSpec and DiagID such that Diag(Loc, DiagID) << PrevSpec; will yield a useful result.
TODO: use a more general approach that still allows these diagnostics to be ignored when desired.
Definition at line 637 of file DeclSpec.cpp.
References BadSpecifier(), clang::Sema::getLangOpts(), clang::LangOptions::getOpenCLCompatibleVersion(), clang::Sema::getOpenCLOptions(), getSpecifierName(), clang::OpenCLOptions::isAvailableOption(), isInvalid(), SCS_auto, SCS_extern, SCS_private_extern, SCS_register, SCS_static, SCS_typedef, SCS_unspecified, SetTypeSpecType(), TST_auto, and TST_unspecified.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), addStaticToLambdaDeclSpecifier(), and clang::Sema::BuildAnonymousStructOrUnion().
| bool DeclSpec::SetStorageClassSpecThread | ( | TSCS | TSC, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 699 of file DeclSpec.cpp.
References BadSpecifier(), and TSCS_unspecified.
| bool DeclSpec::SetTypeAltiVecBool | ( | bool | isAltiVecBool, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 930 of file DeclSpec.cpp.
References getSpecifierName(), TST_error, and TST_unspecified.
| bool DeclSpec::SetTypeAltiVecPixel | ( | bool | isAltiVecPixel, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 913 of file DeclSpec.cpp.
References getSpecifierName(), TST_error, and TST_unspecified.
| bool DeclSpec::SetTypeAltiVecVector | ( | bool | isAltiVecVector, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 880 of file DeclSpec.cpp.
References getSpecifierName(), TST_error, and TST_unspecified.
|
inline |
Definition at line 644 of file DeclSpec.h.
| bool DeclSpec::SetTypePipe | ( | bool | isPipe, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 895 of file DeclSpec.cpp.
References getSpecifierName(), clang::Pipe, TST_error, and TST_unspecified.
| bool DeclSpec::SetTypeQual | ( | TQ | T, |
| SourceLocation | Loc ) |
Definition at line 1001 of file DeclSpec.cpp.
References clang::T, TQ_atomic, TQ_const, TQ_restrict, TQ_unaligned, TQ_unspecified, and TQ_volatile.
Referenced by clang::Sema::ActOnCXXMemberDeclarator(), clang::DeclaratorChunk::getFunction(), getLambdaType(), and SetTypeQual().
| bool DeclSpec::SetTypeQual | ( | TQ | T, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const LangOptions & | Lang ) |
Definition at line 985 of file DeclSpec.cpp.
References BadSpecifier(), SetTypeQual(), and clang::T.
| bool DeclSpec::SetTypeSpecComplex | ( | TSC | C, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 730 of file DeclSpec.cpp.
References BadSpecifier(), clang::C, and TSC_unspecified.
| bool DeclSpec::SetTypeSpecError | ( | ) |
| bool DeclSpec::SetTypeSpecSat | ( | SourceLocation | Loc, |
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 867 of file DeclSpec.cpp.
| bool DeclSpec::SetTypeSpecSign | ( | TypeSpecifierSign | S, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID ) |
Definition at line 740 of file DeclSpec.cpp.
References BadSpecifier(), getTypeSpecSign(), and clang::Unspecified.
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 843 of file DeclSpec.cpp.
References getSpecifierName(), isDeclRep(), isTypeRep(), clang::T, TST_bool, TST_error, and TST_unspecified.
Referenced by clang::Sema::ActOnCXXForRangeIdentifier(), clang::Sema::ActOnFinishKNRParamDeclarations(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::Sema::ImplicitlyDefineFunction(), SetStorageClassSpec(), SetTypeSpecType(), SetTypeSpecType(), SetTypeSpecType(), and SetTypeSpecType().
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| Decl * | Rep, | ||
| bool | Owned, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 802 of file DeclSpec.cpp.
References SetTypeSpecType(), and clang::T.
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| Expr * | Rep, | ||
| const PrintingPolicy & | policy ) |
Definition at line 780 of file DeclSpec.cpp.
References ExprRep, getSpecifierName(), clang::T, TST_error, and TST_unspecified.
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| ParsedType | Rep, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 749 of file DeclSpec.cpp.
References SetTypeSpecType(), and clang::T.
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| TemplateIdAnnotation * | Rep, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 834 of file DeclSpec.cpp.
References SetTypeSpecType(), clang::T, TemplateIdRep, TST_auto, and TST_decltype_auto.
|
inline |
Definition at line 811 of file DeclSpec.h.
References clang::ActionResult< PtrTy, Compress >::get(), clang::ActionResult< PtrTy, Compress >::isInvalid(), SetTypeSpecError(), SetTypeSpecType(), and clang::T.
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | TagKwLoc, | ||
| SourceLocation | TagNameLoc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| Decl * | Rep, | ||
| bool | Owned, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 810 of file DeclSpec.cpp.
References DeclRep, getSpecifierName(), isDeclRep(), clang::T, TST_error, and TST_unspecified.
| bool DeclSpec::SetTypeSpecType | ( | TST | T, |
| SourceLocation | TagKwLoc, | ||
| SourceLocation | TagNameLoc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| ParsedType | Rep, | ||
| const PrintingPolicy & | Policy ) |
Definition at line 757 of file DeclSpec.cpp.
References getSpecifierName(), isTypeRep(), clang::T, TST_error, TST_unspecified, and TypeRep.
| bool DeclSpec::SetTypeSpecWidth | ( | TypeSpecifierWidth | W, |
| SourceLocation | Loc, | ||
| const char *& | PrevSpec, | ||
| unsigned & | DiagID, | ||
| const PrintingPolicy & | Policy ) |
These methods set the specified attribute of the DeclSpec, but return true and ignore the request if invalid (e.g.
"extern" then "auto" is specified).
Definition at line 713 of file DeclSpec.cpp.
References BadSpecifier(), getTypeSpecWidth(), clang::Long, clang::LongLong, and clang::Unspecified.
|
inline |
Definition at line 954 of file DeclSpec.h.
|
inline |
Definition at line 857 of file DeclSpec.h.
References DeclRep, and isDeclRep().
|
inline |
Definition at line 865 of file DeclSpec.h.
References ExprRep.
Referenced by RebuildDeclaratorInCurrentInstantiation().
|
inline |
Definition at line 861 of file DeclSpec.h.
References isTypeRep(), and TypeRep.
Referenced by RebuildDeclaratorInCurrentInstantiation().
| Decl* clang::DeclSpec::DeclRep |
Definition at line 457 of file DeclSpec.h.
Referenced by getRepAsDecl(), SetTypeSpecType(), and UpdateDeclRep().
| Expr* clang::DeclSpec::ExprRep |
Definition at line 458 of file DeclSpec.h.
Referenced by getRepAsExpr(), SetBitIntType(), SetTypeSpecType(), and UpdateExprRep().
| TemplateIdAnnotation* clang::DeclSpec::TemplateIdRep |
Definition at line 459 of file DeclSpec.h.
Referenced by getRepAsTemplateId(), and SetTypeSpecType().
|
static |
Definition at line 298 of file DeclSpec.h.
Referenced by getSpecifierName().
|
static |
Definition at line 300 of file DeclSpec.h.
Referenced by getSpecifierName().
|
static |
Definition at line 299 of file DeclSpec.h.
Referenced by clang::Sema::ActOnVariableDeclarator(), and getSpecifierName().
|
static |
Definition at line 297 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ClearStorageClassSpecs(), DeclSpec(), getParsedSpecifiers(), getSpecifierName(), and SetStorageClassSpecThread().
|
static |
Definition at line 325 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 353 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and RebuildDeclaratorInCurrentInstantiation().
|
static |
Definition at line 350 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXForRangeIdentifier(), clang::Sema::ActOnDecompositionDeclarator(), CheckTypeSpec(), ConvertDeclSpecToType(), GetFullTypeForDeclarator(), getSpecifierName(), hasAutoTypeSpec(), SetStorageClassSpec(), and SetTypeSpecType().
|
static |
Definition at line 351 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and hasAutoTypeSpec().
|
static |
Definition at line 321 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 319 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), getSpecifierName(), and SetBitIntType().
|
static |
Definition at line 329 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and SetTypeSpecType().
|
static |
Definition at line 312 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 315 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 316 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 314 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 337 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteDeclSpec(), clang::SemaCodeCompletion::CodeCompleteTag(), ConvertDeclSpecToType(), GetDiagnosticTypeSpecifierID(), getSpecifierName(), isDeclRep(), clang::Sema::isTagName(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
static |
Definition at line 332 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 330 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 331 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 343 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnPseudoDestructorExpr(), ConvertDeclSpecToType(), clang::Sema::getDestructorTypeForDecltype(), getSpecifierName(), and RebuildDeclaratorInCurrentInstantiation().
|
static |
Definition at line 344 of file DeclSpec.h.
Referenced by clang::Sema::ActOnPseudoDestructorExpr(), CheckTypeSpec(), ConvertDeclSpecToType(), clang::Sema::getDestructorTypeForDecltype(), getSpecifierName(), hasAutoTypeSpec(), and SetTypeSpecType().
|
static |
Definition at line 323 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 333 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteTag(), ConvertDeclSpecToType(), GetDiagnosticTypeSpecifierID(), getSpecifierName(), isDeclRep(), clang::Sema::isTagName(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
static |
Definition at line 363 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnCXXNestedNameSpecifierIndexedPack(), clang::Sema::ActOnPseudoDestructorExpr(), CheckTypeSpec(), ConvertDeclSpecToType(), clang::Sema::getDestructorTypeForDecltype(), getSpecifierName(), clang::Declarator::isInvalidType(), clang::Sema::ParsedFreeStandingDeclSpec(), SetBitIntType(), SetTypeAltiVecBool(), SetTypeAltiVecPixel(), SetTypeAltiVecVector(), SetTypePipe(), SetTypeSpecError(), SetTypeSpecType(), SetTypeSpecType(), SetTypeSpecType(), and SetTypeSpecType().
|
static |
Definition at line 322 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 327 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 324 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 326 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 320 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 328 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 317 of file DeclSpec.h.
Referenced by clang::Sema::ActOnFinishKNRParamDeclarations(), CheckTypeSpec(), ConvertDeclSpecToType(), getSpecifierName(), and clang::Sema::ImplicitlyDefineFunction().
|
static |
Definition at line 318 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 336 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteTag(), ConvertDeclSpecToType(), GetDiagnosticTypeSpecifierID(), getSpecifierName(), isDeclRep(), clang::Sema::isTagName(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
static |
Definition at line 335 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteDeclSpec(), clang::SemaCodeCompletion::CodeCompleteTag(), ConvertDeclSpecToType(), DiagnoseCountAttributedTypeInUnnamedAnon(), GetDiagnosticTypeSpecifierID(), getSpecifierName(), isDeclRep(), clang::Sema::isTagName(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
static |
Definition at line 338 of file DeclSpec.h.
Referenced by clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::SemaCodeCompletion::CodeCompleteDeclSpec(), ConvertDeclSpecToType(), getSpecifierName(), clang::Sema::ParsedFreeStandingDeclSpec(), RebuildDeclaratorInCurrentInstantiation(), and SetPackIndexingExpr().
|
static |
Definition at line 345 of file DeclSpec.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierIndexedPack(), clang::Sema::ActOnPseudoDestructorExpr(), ConvertDeclSpecToType(), getPackIndexingExpr(), getSpecifierName(), and SetPackIndexingExpr().
|
static |
Definition at line 342 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and RebuildDeclaratorInCurrentInstantiation().
|
static |
Definition at line 341 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and RebuildDeclaratorInCurrentInstantiation().
|
static |
Definition at line 340 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and RebuildDeclaratorInCurrentInstantiation().
|
static |
Definition at line 339 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), getSpecifierName(), and RebuildDeclaratorInCurrentInstantiation().
|
static |
Definition at line 334 of file DeclSpec.h.
Referenced by clang::SemaCodeCompletion::CodeCompleteTag(), ConvertDeclSpecToType(), GetDiagnosticTypeSpecifierID(), getSpecifierName(), isDeclRep(), clang::Sema::isTagName(), and clang::Sema::ParsedFreeStandingDeclSpec().
|
static |
Definition at line 352 of file DeclSpec.h.
Referenced by ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 310 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ClearTypeSpecType(), ConvertDeclSpecToType(), DeclSpec(), getSpecifierName(), hasTypeSpecifier(), clang::Sema::isTagName(), SetBitIntType(), SetStorageClassSpec(), SetTypeAltiVecBool(), SetTypeAltiVecPixel(), SetTypeAltiVecVector(), SetTypePipe(), SetTypeSpecType(), SetTypeSpecType(), SetTypeSpecType(), and SetTypeSpecType().
|
static |
Definition at line 311 of file DeclSpec.h.
Referenced by clang::Sema::ActOnParamDeclarator(), ConvertDeclSpecToType(), and getSpecifierName().
|
static |
Definition at line 313 of file DeclSpec.h.
Referenced by CheckTypeSpec(), ConvertDeclSpecToType(), and getSpecifierName().
| UnionParsedType clang::DeclSpec::TypeRep |
Definition at line 456 of file DeclSpec.h.
Referenced by getRepAsType(), SetTypeSpecType(), and UpdateTypeRep().