clang 23.0.0git
clang::DeclSpec Class Reference

Captures information about "declaration specifiers". More...

#include "clang/Sema/DeclSpec.h"

Inheritance diagram for clang::DeclSpec:
[legend]

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

Public Member Functions

 DeclSpec (AttributeFactory &attrFactory)
SCS getStorageClassSpec () const
TSCS getThreadStorageClassSpec () const
bool isExternInLinkageSpec () const
void setExternInLinkageSpec (bool Value)
SourceLocation getStorageClassSpecLoc () const
SourceLocation getThreadStorageClassSpecLoc () const
void ClearStorageClassSpecs ()
void ClearTypeSpecType ()
TypeSpecifierWidth getTypeSpecWidth () const
TSC getTypeSpecComplex () const
TypeSpecifierSign getTypeSpecSign () const
TST getTypeSpecType () const
bool isTypeAltiVecVector () const
bool isTypeAltiVecPixel () const
bool isTypeAltiVecBool () const
bool isTypeSpecOwned () const
bool isTypeRep () const
bool isTypeSpecPipe () const
bool isTypeSpecSat () const
bool isConstrainedAuto () const
ParsedType getRepAsType () const
DeclgetRepAsDecl () const
ExprgetRepAsExpr () const
ExprgetPackIndexingExpr () const
TemplateIdAnnotationgetRepAsTemplateId () const
CXXScopeSpecgetTypeSpecScope ()
const CXXScopeSpecgetTypeSpecScope () const
SourceRange getSourceRange () const LLVM_READONLY
SourceLocation getBeginLoc () const LLVM_READONLY
SourceLocation getEndLoc () const LLVM_READONLY
SourceLocation getTypeSpecWidthLoc () const
SourceRange getTypeSpecWidthRange () const
SourceLocation getTypeSpecComplexLoc () const
SourceLocation getTypeSpecSignLoc () const
SourceLocation getTypeSpecTypeLoc () const
SourceLocation getAltiVecLoc () const
SourceLocation getTypeSpecSatLoc () const
SourceLocation getTypeSpecTypeNameLoc () const
SourceRange getTypeofParensRange () const
void setTypeArgumentRange (SourceRange range)
bool hasAutoTypeSpec () const
bool hasTagDefinition () const
unsigned getTypeQualifiers () const
 getTypeQualifiers - Return a set of TQs.
SourceLocation getConstSpecLoc () const
SourceLocation getRestrictSpecLoc () const
SourceLocation getVolatileSpecLoc () const
SourceLocation getAtomicSpecLoc () const
SourceLocation getUnalignedSpecLoc () const
SourceLocation getPipeLoc () const
SourceLocation getEllipsisLoc () const
OverflowBehaviorState getOverflowBehaviorState () const
bool isWrapSpecified () const
bool isTrapSpecified () const
bool isOverflowBehaviorSpecified () const
SourceLocation getOverflowBehaviorLoc () const
bool SetOverflowBehavior (OverflowBehaviorType::OverflowBehaviorKind Kind, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
void ClearTypeQualifiers ()
 Clear out all of the type qualifiers.
bool isInlineSpecified () const
SourceLocation getInlineSpecLoc () const
ExplicitSpecifier getExplicitSpecifier () const
bool isVirtualSpecified () const
SourceLocation getVirtualSpecLoc () const
bool hasExplicitSpecifier () const
SourceLocation getExplicitSpecLoc () const
SourceRange getExplicitSpecRange () const
bool isNoreturnSpecified () const
SourceLocation getNoreturnSpecLoc () const
void ClearFunctionSpecs ()
void forEachCVRUQualifier (llvm::function_ref< void(TQ, StringRef, SourceLocation)> Handle)
 This method calls the passed in handler on each CVRU qual being set.
void forEachQualifier (llvm::function_ref< void(TQ, StringRef, SourceLocation)> Handle)
 This method calls the passed in handler on each qual being set.
bool hasTypeSpecifier () const
 Return true if any type-specifier has been found.
unsigned getParsedSpecifiers () const
 Return a bitmask of which flavors of specifiers this DeclSpec includes.
bool isEmpty () const
 isEmpty - Return true if this declaration specifier is completely empty: no tokens were parsed in the production of it.
void SetRangeStart (SourceLocation Loc)
void SetRangeEnd (SourceLocation Loc)
bool 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.
bool SetStorageClassSpecThread (TSCS TSC, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool 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.
bool SetTypeSpecComplex (TSC C, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool SetTypeSpecSign (TypeSpecifierSign S, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool SetTypeSpecType (TST T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, ParsedType Rep, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, TypeResult Rep, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, Decl *Rep, bool Owned, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation TagKwLoc, SourceLocation TagNameLoc, const char *&PrevSpec, unsigned &DiagID, ParsedType Rep, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation TagKwLoc, SourceLocation TagNameLoc, const char *&PrevSpec, unsigned &DiagID, Decl *Rep, bool Owned, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, TemplateIdAnnotation *Rep, const PrintingPolicy &Policy)
bool SetTypeSpecType (TST T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, Expr *Rep, const PrintingPolicy &policy)
bool SetTypeAltiVecVector (bool isAltiVecVector, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy)
bool SetTypeAltiVecPixel (bool isAltiVecPixel, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy)
bool SetTypeAltiVecBool (bool isAltiVecBool, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy)
bool SetTypePipe (bool isPipe, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy)
bool SetBitIntType (SourceLocation KWLoc, Expr *BitWidth, const char *&PrevSpec, unsigned &DiagID, const PrintingPolicy &Policy)
bool SetTypeSpecSat (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
void SetPackIndexingExpr (SourceLocation EllipsisLoc, Expr *Pack)
bool SetTypeSpecError ()
void UpdateDeclRep (Decl *Rep)
void UpdateTypeRep (ParsedType Rep)
void UpdateExprRep (Expr *Rep)
bool SetTypeQual (TQ T, SourceLocation Loc)
bool SetTypeQual (TQ T, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, const LangOptions &Lang)
bool setFunctionSpecInline (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool setFunctionSpecForceInline (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool setFunctionSpecVirtual (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool setFunctionSpecExplicit (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID, ExplicitSpecifier ExplicitSpec, SourceLocation CloseParenLoc)
bool setFunctionSpecNoreturn (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool SetFriendSpec (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool setModulePrivateSpec (SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
bool SetConstexprSpec (ConstexprSpecKind ConstexprKind, SourceLocation Loc, const char *&PrevSpec, unsigned &DiagID)
FriendSpecified isFriendSpecified () const
bool isFriendSpecifiedFirst () const
SourceLocation getFriendSpecLoc () const
bool isModulePrivateSpecified () const
SourceLocation getModulePrivateSpecLoc () const
ConstexprSpecKind getConstexprSpecifier () const
SourceLocation getConstexprSpecLoc () const
bool hasConstexprSpecifier () const
void ClearConstexprSpec ()
AttributePoolgetAttributePool () const
void addAttributes (const ParsedAttributesView &AL)
 Concatenates two attribute lists.
bool hasAttributes () const
ParsedAttributesgetAttributes ()
const ParsedAttributesgetAttributes () const
void takeAttributesAppendingingFrom (ParsedAttributes &attrs)
void Finish (Sema &S, const PrintingPolicy &Policy)
 Finish - This does final analysis of the declspec, issuing diagnostics for things like "_Complex" (lacking an FP type).
const WrittenBuiltinSpecsgetWrittenBuiltinSpecs () const
ObjCDeclSpecgetObjCQualifiers () const
void setObjCQualifiers (ObjCDeclSpec *quals)
bool isMissingDeclaratorOk ()
 Checks if this DeclSpec can stand alone, without a Declarator.

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

Detailed Description

Captures information about "declaration specifiers".

"Declaration specifiers" encompasses storage-class-specifiers, type-specifiers, type-qualifiers, and function-specifiers.

Definition at line 218 of file DeclSpec.h.

Member Typedef Documentation

◆ TSCS

Definition at line 235 of file DeclSpec.h.

◆ TST

Definition at line 248 of file DeclSpec.h.

Member Enumeration Documentation

◆ FriendSpecified

Enumerator
No 
Yes 

Definition at line 324 of file DeclSpec.h.

◆ OverflowBehaviorState

Enumerator
Unspecified 
Wrap 
Trap 

Definition at line 326 of file DeclSpec.h.

◆ ParsedSpecifiers

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 315 of file DeclSpec.h.

◆ SCS

storage-class-specifier

Note
The order of these enumerators is important for diagnostics.
Enumerator
SCS_unspecified 
SCS_typedef 
SCS_extern 
SCS_static 
SCS_auto 
SCS_register 
SCS_private_extern 
SCS_mutable 

Definition at line 222 of file DeclSpec.h.

◆ TQ

Enumerator
TQ_unspecified 
TQ_const 
TQ_restrict 
TQ_volatile 
TQ_unaligned 
TQ_atomic 

Definition at line 302 of file DeclSpec.h.

◆ TSC

Enumerator
TSC_unspecified 
TSC_imaginary 
TSC_complex 

Definition at line 241 of file DeclSpec.h.

Constructor & Destructor Documentation

◆ DeclSpec()

clang::DeclSpec::DeclSpec ( AttributeFactory & attrFactory)
inline

Member Function Documentation

◆ addAttributes()

void clang::DeclSpec::addAttributes ( const ParsedAttributesView & AL)
inline

Concatenates two attribute lists.

The GCC attribute syntax allows for the following:

short __attribute__(( unused, deprecated ))
int __attribute__(( may_alias, aligned(16) )) var;
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.

This declares 4 attributes using 2 lists. The following syntax is also allowed and equivalent to the previous declaration.

short __attribute__((unused)) __attribute__((deprecated))
int __attribute__((may_alias)) __attribute__((aligned(16))) var;

Definition at line 872 of file DeclSpec.h.

References clang::ParsedAttributesView::begin(), and clang::ParsedAttributesView::end().

Referenced by clang::Parser::ParseTypeName().

◆ ClearConstexprSpec()

void clang::DeclSpec::ClearConstexprSpec ( )
inline

Definition at line 846 of file DeclSpec.h.

References clang::Unspecified.

Referenced by clang::Sema::ActOnCXXMemberDeclarator(), and CreateNewFunctionDecl().

◆ ClearFunctionSpecs()

void clang::DeclSpec::ClearFunctionSpecs ( )
inline

Definition at line 669 of file DeclSpec.h.

◆ ClearStorageClassSpecs()

◆ ClearTypeQualifiers()

void clang::DeclSpec::ClearTypeQualifiers ( )
inline

Clear out all of the type qualifiers.

Definition at line 629 of file DeclSpec.h.

References Unspecified.

Referenced by clang::Sema::BuildAnonymousStructOrUnion(), and checkOmittedBlockReturnType().

◆ ClearTypeSpecType()

void clang::DeclSpec::ClearTypeSpecType ( )
inline

Definition at line 506 of file DeclSpec.h.

References TST_unspecified.

◆ Finish()

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 1159 of file DeclSpec.cpp.

References ClearStorageClassSpecs(), clang::Consteval, clang::Constexpr, clang::Constinit, clang::Sema::Context, clang::FixItHint::CreateInsertion(), clang::FixItHint::CreateRemoval(), clang::SemaBase::Diag(), getConstexprSpecifier(), getExplicitSpecLoc(), getExplicitSpecRange(), clang::Sema::getLangOpts(), clang::Sema::getLocForEndOfToken(), clang::Sema::getSourceManager(), getSpecifierName(), getStorageClassSpec(), getStorageClassSpecLoc(), clang::ASTContext::getTargetInfo(), getThreadStorageClassSpec(), getThreadStorageClassSpecLoc(), clang::TargetInfo::getTriple(), getTypeSpecComplexLoc(), getTypeSpecSign(), getTypeSpecType(), getTypeSpecWidth(), getVirtualSpecLoc(), hasExplicitSpecifier(), clang::TargetInfo::hasFeature(), clang::LangOptionsBase::HLSL_202y, clang::SourceManager::isBeforeInTranslationUnit(), isDeclRep(), isFriendSpecified(), clang::SourceLocation::isInvalid(), isVirtualSpecified(), clang::Keyword, 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.

◆ forEachCVRUQualifier()

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 415 of file DeclSpec.cpp.

References TQ_const, TQ_restrict, TQ_unaligned, and TQ_volatile.

Referenced by forEachQualifier(), and clang::DeclaratorChunk::getFunction().

◆ forEachQualifier()

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 427 of file DeclSpec.cpp.

References forEachCVRUQualifier().

Referenced by checkMethodTypeQualifiers(), and GetFullTypeForDeclarator().

◆ getAltiVecLoc()

SourceLocation clang::DeclSpec::getAltiVecLoc ( ) const
inline

Definition at line 566 of file DeclSpec.h.

◆ getAtomicSpecLoc()

◆ getAttributePool()

AttributePool & clang::DeclSpec::getAttributePool ( ) const
inline

◆ getAttributes() [1/2]

◆ getAttributes() [2/2]

const ParsedAttributes & clang::DeclSpec::getAttributes ( ) const
inline

Definition at line 879 of file DeclSpec.h.

◆ getBeginLoc()

◆ getConstexprSpecifier()

◆ getConstexprSpecLoc()

◆ getConstSpecLoc()

◆ getEllipsisLoc()

◆ getEndLoc()

SourceLocation clang::DeclSpec::getEndLoc ( ) const
inline

Definition at line 559 of file DeclSpec.h.

Referenced by GetFullTypeForDeclarator().

◆ getExplicitSpecifier()

ExplicitSpecifier clang::DeclSpec::getExplicitSpecifier ( ) const
inline

Definition at line 649 of file DeclSpec.h.

Referenced by CreateNewFunctionDecl().

◆ getExplicitSpecLoc()

◆ getExplicitSpecRange()

SourceRange clang::DeclSpec::getExplicitSpecRange ( ) const
inline

◆ getFriendSpecLoc()

SourceLocation clang::DeclSpec::getFriendSpecLoc ( ) const
inline

◆ getInlineSpecLoc()

◆ getModulePrivateSpecLoc()

◆ getNoreturnSpecLoc()

◆ getObjCQualifiers()

ObjCDeclSpec * clang::DeclSpec::getObjCQualifiers ( ) const
inline

Definition at line 894 of file DeclSpec.h.

◆ getOverflowBehaviorLoc()

SourceLocation clang::DeclSpec::getOverflowBehaviorLoc ( ) const
inline

Definition at line 622 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ getOverflowBehaviorState()

OverflowBehaviorState clang::DeclSpec::getOverflowBehaviorState ( ) const
inline

◆ getPackIndexingExpr()

Expr * clang::DeclSpec::getPackIndexingExpr ( ) const
inline

◆ getParsedSpecifiers()

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 442 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().

◆ getPipeLoc()

SourceLocation clang::DeclSpec::getPipeLoc ( ) const
inline

Definition at line 606 of file DeclSpec.h.

◆ getRepAsDecl()

◆ getRepAsExpr()

◆ getRepAsTemplateId()

TemplateIdAnnotation * clang::DeclSpec::getRepAsTemplateId ( ) const
inline

Definition at line 549 of file DeclSpec.h.

References TemplateIdRep.

Referenced by ConvertDeclSpecToType(), and InventTemplateParameter().

◆ getRepAsType()

◆ getRestrictSpecLoc()

◆ getSourceRange()

◆ getSpecifierName() [1/9]

const char * DeclSpec::getSpecifierName ( ConstexprSpecKind C)
static

◆ getSpecifierName() [2/9]

const char * DeclSpec::getSpecifierName ( DeclSpec::SCS S)
static

◆ getSpecifierName() [3/9]

const char * DeclSpec::getSpecifierName ( DeclSpec::TQ Q)
static

Definition at line 607 of file DeclSpec.cpp.

References TQ_atomic, TQ_const, TQ_restrict, TQ_unaligned, TQ_unspecified, and TQ_volatile.

◆ getSpecifierName() [4/9]

const char * DeclSpec::getSpecifierName ( DeclSpec::TSC C)
static

Definition at line 511 of file DeclSpec.cpp.

References clang::C, TSC_complex, TSC_imaginary, and TSC_unspecified.

◆ getSpecifierName() [5/9]

const char * DeclSpec::getSpecifierName ( DeclSpec::TSCS S)
static

Definition at line 487 of file DeclSpec.cpp.

References TSCS___thread, TSCS__Thread_local, TSCS_thread_local, and TSCS_unspecified.

◆ getSpecifierName() [6/9]

◆ getSpecifierName() [7/9]

const char * DeclSpec::getSpecifierName ( OverflowBehaviorState S)
static

Definition at line 619 of file DeclSpec.cpp.

References Trap, Unspecified, and Wrap.

◆ getSpecifierName() [8/9]

const char * DeclSpec::getSpecifierName ( TypeSpecifierSign S)
static

Definition at line 520 of file DeclSpec.cpp.

References clang::Signed, clang::Unsigned, and clang::Unspecified.

◆ getSpecifierName() [9/9]

const char * DeclSpec::getSpecifierName ( TypeSpecifierWidth W)
static

Definition at line 497 of file DeclSpec.cpp.

References clang::Long, clang::LongLong, clang::Short, and clang::Unspecified.

◆ getStorageClassSpec()

◆ getStorageClassSpecLoc()

◆ getThreadStorageClassSpec()

◆ getThreadStorageClassSpecLoc()

◆ getTypeofParensRange()

SourceRange clang::DeclSpec::getTypeofParensRange ( ) const
inline

◆ getTypeQualifiers()

◆ getTypeSpecComplex()

TSC clang::DeclSpec::getTypeSpecComplex ( ) const
inline

◆ getTypeSpecComplexLoc()

SourceLocation clang::DeclSpec::getTypeSpecComplexLoc ( ) const
inline

Definition at line 563 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and Finish().

◆ getTypeSpecSatLoc()

SourceLocation clang::DeclSpec::getTypeSpecSatLoc ( ) const
inline

Definition at line 567 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ getTypeSpecScope() [1/2]

CXXScopeSpec & clang::DeclSpec::getTypeSpecScope ( )
inline

Definition at line 554 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and InventTemplateParameter().

◆ getTypeSpecScope() [2/2]

const CXXScopeSpec & clang::DeclSpec::getTypeSpecScope ( ) const
inline

Definition at line 555 of file DeclSpec.h.

◆ getTypeSpecSign()

TypeSpecifierSign clang::DeclSpec::getTypeSpecSign ( ) const
inline

◆ getTypeSpecSignLoc()

SourceLocation clang::DeclSpec::getTypeSpecSignLoc ( ) const
inline

Definition at line 564 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ getTypeSpecType()

◆ getTypeSpecTypeLoc()

◆ getTypeSpecTypeNameLoc()

SourceLocation clang::DeclSpec::getTypeSpecTypeNameLoc ( ) const
inline

Definition at line 569 of file DeclSpec.h.

References isDeclRep(), and isTypeRep().

Referenced by ConvertDeclSpecToType().

◆ getTypeSpecWidth()

TypeSpecifierWidth clang::DeclSpec::getTypeSpecWidth ( ) const
inline

Definition at line 513 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), hasTypeSpecifier(), and SetTypeSpecWidth().

◆ getTypeSpecWidthLoc()

SourceLocation clang::DeclSpec::getTypeSpecWidthLoc ( ) const
inline

Definition at line 561 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ getTypeSpecWidthRange()

SourceRange clang::DeclSpec::getTypeSpecWidthRange ( ) const
inline

Definition at line 562 of file DeclSpec.h.

◆ getUnalignedSpecLoc()

◆ getVirtualSpecLoc()

◆ getVolatileSpecLoc()

◆ getWrittenBuiltinSpecs()

const WrittenBuiltinSpecs & clang::DeclSpec::getWrittenBuiltinSpecs ( ) const
inline

Definition at line 890 of file DeclSpec.h.

◆ hasAttributes()

bool clang::DeclSpec::hasAttributes ( ) const
inline

Definition at line 876 of file DeclSpec.h.

◆ hasAutoTypeSpec()

bool clang::DeclSpec::hasAutoTypeSpec ( ) const
inline

◆ hasConstexprSpecifier()

◆ hasExplicitSpecifier()

◆ hasTagDefinition()

bool DeclSpec::hasTagDefinition ( ) const

Definition at line 433 of file DeclSpec.cpp.

References clang::cast(), and getRepAsDecl().

Referenced by GetFullTypeForDeclarator().

◆ hasTypeSpecifier()

◆ isConstrainedAuto()

bool clang::DeclSpec::isConstrainedAuto ( ) const
inline

Definition at line 528 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ isDeclRep()

◆ isEmpty()

bool clang::DeclSpec::isEmpty ( ) const
inline

isEmpty - Return true if this declaration specifier is completely empty: no tokens were parsed in the production of it.

Definition at line 709 of file DeclSpec.h.

References getParsedSpecifiers(), and PQ_None.

Referenced by SetFriendSpec().

◆ isExternInLinkageSpec()

bool clang::DeclSpec::isExternInLinkageSpec ( ) const
inline

◆ isFriendSpecified()

◆ isFriendSpecifiedFirst()

bool clang::DeclSpec::isFriendSpecifiedFirst ( ) const
inline

Definition at line 830 of file DeclSpec.h.

Referenced by clang::Sema::ActOnFriendTypeDecl().

◆ isInlineSpecified()

◆ isMissingDeclaratorOk()

bool DeclSpec::isMissingDeclaratorOk ( )

Checks if this DeclSpec can stand alone, without a Declarator.

Only tag declspecs can stand alone.

Definition at line 1512 of file DeclSpec.cpp.

References getRepAsDecl(), getTypeSpecType(), isDeclRep(), and SCS_typedef.

Referenced by clang::Sema::ParsedFreeStandingDeclSpec().

◆ isModulePrivateSpecified()

◆ isNoreturnSpecified()

bool clang::DeclSpec::isNoreturnSpecified ( ) const
inline

◆ isOverflowBehaviorSpecified()

bool clang::DeclSpec::isOverflowBehaviorSpecified ( ) const
inline

Definition at line 619 of file DeclSpec.h.

References getOverflowBehaviorState(), and Unspecified.

Referenced by ConvertDeclSpecToType().

◆ isTransformTypeTrait()

bool clang::DeclSpec::isTransformTypeTrait ( TST T)
inlinestatic

Definition at line 456 of file DeclSpec.h.

◆ isTrapSpecified()

bool clang::DeclSpec::isTrapSpecified ( ) const
inline

Definition at line 616 of file DeclSpec.h.

References getOverflowBehaviorState(), and Trap.

Referenced by HandleOverflowBehaviorAttr().

◆ isTypeAltiVecBool()

bool clang::DeclSpec::isTypeAltiVecBool ( ) const
inline

Definition at line 523 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ isTypeAltiVecPixel()

bool clang::DeclSpec::isTypeAltiVecPixel ( ) const
inline

Definition at line 522 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ isTypeAltiVecVector()

bool clang::DeclSpec::isTypeAltiVecVector ( ) const
inline

◆ isTypeRep()

bool clang::DeclSpec::isTypeRep ( ) const
inline

◆ isTypeSpecOwned()

bool clang::DeclSpec::isTypeSpecOwned ( ) const
inline

◆ isTypeSpecPipe()

bool clang::DeclSpec::isTypeSpecPipe ( ) const
inline

Definition at line 526 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ isTypeSpecSat()

bool clang::DeclSpec::isTypeSpecSat ( ) const
inline

Definition at line 527 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType().

◆ isVirtualSpecified()

◆ isWrapSpecified()

bool clang::DeclSpec::isWrapSpecified ( ) const
inline

Definition at line 613 of file DeclSpec.h.

References getOverflowBehaviorState(), and Wrap.

Referenced by ConvertDeclSpecToType(), and HandleOverflowBehaviorAttr().

◆ SetBitIntType()

bool DeclSpec::SetBitIntType ( SourceLocation KWLoc,
Expr * BitWidth,
const char *& PrevSpec,
unsigned & DiagID,
const PrintingPolicy & Policy )

Definition at line 957 of file DeclSpec.cpp.

References ExprRep, getSpecifierName(), TST_bitint, TST_error, and TST_unspecified.

◆ SetConstexprSpec()

bool DeclSpec::SetConstexprSpec ( ConstexprSpecKind ConstexprKind,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

◆ setExternInLinkageSpec()

void clang::DeclSpec::setExternInLinkageSpec ( bool Value)
inline

Definition at line 489 of file DeclSpec.h.

◆ SetFriendSpec()

bool DeclSpec::SetFriendSpec ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1112 of file DeclSpec.cpp.

References isEmpty(), and isFriendSpecified().

◆ setFunctionSpecExplicit()

bool DeclSpec::setFunctionSpecExplicit ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
ExplicitSpecifier ExplicitSpec,
SourceLocation CloseParenLoc )

Definition at line 1078 of file DeclSpec.cpp.

References clang::ExplicitSpecifier::getExpr(), and hasExplicitSpecifier().

◆ setFunctionSpecForceInline()

bool DeclSpec::setFunctionSpecForceInline ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1051 of file DeclSpec.cpp.

◆ setFunctionSpecInline()

bool DeclSpec::setFunctionSpecInline ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1037 of file DeclSpec.cpp.

◆ setFunctionSpecNoreturn()

bool DeclSpec::setFunctionSpecNoreturn ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1097 of file DeclSpec.cpp.

◆ setFunctionSpecVirtual()

bool DeclSpec::setFunctionSpecVirtual ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1063 of file DeclSpec.cpp.

◆ setModulePrivateSpec()

bool DeclSpec::setModulePrivateSpec ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1125 of file DeclSpec.cpp.

References isModulePrivateSpecified().

◆ setObjCQualifiers()

void clang::DeclSpec::setObjCQualifiers ( ObjCDeclSpec * quals)
inline

Definition at line 895 of file DeclSpec.h.

◆ SetOverflowBehavior()

bool DeclSpec::SetOverflowBehavior ( OverflowBehaviorType::OverflowBehaviorKind Kind,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 1018 of file DeclSpec.cpp.

References BadSpecifier(), getOverflowBehaviorState(), Trap, Unspecified, and Wrap.

◆ SetPackIndexingExpr()

void DeclSpec::SetPackIndexingExpr ( SourceLocation EllipsisLoc,
Expr * Pack )

Definition at line 978 of file DeclSpec.cpp.

References TST_typename, and TST_typename_pack_indexing.

◆ SetRangeEnd()

void clang::DeclSpec::SetRangeEnd ( SourceLocation Loc)
inline

◆ SetRangeStart()

void clang::DeclSpec::SetRangeStart ( SourceLocation Loc)
inline

◆ SetStorageClassSpec()

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 631 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().

◆ SetStorageClassSpecThread()

bool DeclSpec::SetStorageClassSpecThread ( TSCS TSC,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 693 of file DeclSpec.cpp.

References BadSpecifier(), and TSCS_unspecified.

◆ SetTypeAltiVecBool()

bool DeclSpec::SetTypeAltiVecBool ( bool isAltiVecBool,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
const PrintingPolicy & Policy )

Definition at line 932 of file DeclSpec.cpp.

References getSpecifierName(), TST_error, and TST_unspecified.

◆ SetTypeAltiVecPixel()

bool DeclSpec::SetTypeAltiVecPixel ( bool isAltiVecPixel,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
const PrintingPolicy & Policy )

Definition at line 915 of file DeclSpec.cpp.

References getSpecifierName(), TST_error, and TST_unspecified.

◆ SetTypeAltiVecVector()

bool DeclSpec::SetTypeAltiVecVector ( bool isAltiVecVector,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
const PrintingPolicy & Policy )

Definition at line 883 of file DeclSpec.cpp.

References getSpecifierName(), TST_error, and TST_unspecified.

◆ setTypeArgumentRange()

void clang::DeclSpec::setTypeArgumentRange ( SourceRange range)
inline

Definition at line 576 of file DeclSpec.h.

◆ SetTypePipe()

bool DeclSpec::SetTypePipe ( bool isPipe,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
const PrintingPolicy & Policy )

Definition at line 898 of file DeclSpec.cpp.

References getSpecifierName(), clang::Pipe, TST_error, and TST_unspecified.

◆ SetTypeQual() [1/2]

◆ SetTypeQual() [2/2]

bool DeclSpec::SetTypeQual ( TQ T,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
const LangOptions & Lang )

Definition at line 987 of file DeclSpec.cpp.

References BadSpecifier(), and SetTypeQual().

◆ SetTypeSpecComplex()

bool DeclSpec::SetTypeSpecComplex ( TSC C,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 724 of file DeclSpec.cpp.

References BadSpecifier(), clang::C, and TSC_unspecified.

◆ SetTypeSpecError()

bool DeclSpec::SetTypeSpecError ( )

Definition at line 949 of file DeclSpec.cpp.

References TST_error.

Referenced by SetTypeSpecType().

◆ SetTypeSpecSat()

bool DeclSpec::SetTypeSpecSat ( SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 870 of file DeclSpec.cpp.

◆ SetTypeSpecSign()

bool DeclSpec::SetTypeSpecSign ( TypeSpecifierSign S,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID )

Definition at line 734 of file DeclSpec.cpp.

References BadSpecifier(), getTypeSpecSign(), and clang::Unspecified.

◆ SetTypeSpecType() [1/8]

◆ SetTypeSpecType() [2/8]

bool DeclSpec::SetTypeSpecType ( TST T,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
Decl * Rep,
bool Owned,
const PrintingPolicy & Policy )

Definition at line 805 of file DeclSpec.cpp.

References SetTypeSpecType().

◆ SetTypeSpecType() [3/8]

bool DeclSpec::SetTypeSpecType ( TST T,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
Expr * Rep,
const PrintingPolicy & policy )

Definition at line 783 of file DeclSpec.cpp.

References ExprRep, getSpecifierName(), TST_error, and TST_unspecified.

◆ SetTypeSpecType() [4/8]

bool DeclSpec::SetTypeSpecType ( TST T,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
ParsedType Rep,
const PrintingPolicy & Policy )

Definition at line 743 of file DeclSpec.cpp.

References SetTypeSpecType().

◆ SetTypeSpecType() [5/8]

bool DeclSpec::SetTypeSpecType ( TST T,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
TemplateIdAnnotation * Rep,
const PrintingPolicy & Policy )

Definition at line 837 of file DeclSpec.cpp.

References SetTypeSpecType(), TemplateIdRep, TST_auto, and TST_decltype_auto.

◆ SetTypeSpecType() [6/8]

bool clang::DeclSpec::SetTypeSpecType ( TST T,
SourceLocation Loc,
const char *& PrevSpec,
unsigned & DiagID,
TypeResult Rep,
const PrintingPolicy & Policy )
inline

◆ SetTypeSpecType() [7/8]

bool DeclSpec::SetTypeSpecType ( TST T,
SourceLocation TagKwLoc,
SourceLocation TagNameLoc,
const char *& PrevSpec,
unsigned & DiagID,
Decl * Rep,
bool Owned,
const PrintingPolicy & Policy )

Definition at line 813 of file DeclSpec.cpp.

References DeclRep, getSpecifierName(), isDeclRep(), TST_error, and TST_unspecified.

◆ SetTypeSpecType() [8/8]

bool DeclSpec::SetTypeSpecType ( TST T,
SourceLocation TagKwLoc,
SourceLocation TagNameLoc,
const char *& PrevSpec,
unsigned & DiagID,
ParsedType Rep,
const PrintingPolicy & Policy )

◆ SetTypeSpecWidth()

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 707 of file DeclSpec.cpp.

References BadSpecifier(), getTypeSpecWidth(), clang::Long, clang::LongLong, and clang::Unspecified.

◆ takeAttributesAppendingingFrom()

void clang::DeclSpec::takeAttributesAppendingingFrom ( ParsedAttributes & attrs)
inline

Definition at line 881 of file DeclSpec.h.

◆ UpdateDeclRep()

void clang::DeclSpec::UpdateDeclRep ( Decl * Rep)
inline

Definition at line 789 of file DeclSpec.h.

References DeclRep, and isDeclRep().

◆ UpdateExprRep()

void clang::DeclSpec::UpdateExprRep ( Expr * Rep)
inline

Definition at line 797 of file DeclSpec.h.

References ExprRep.

Referenced by RebuildDeclaratorInCurrentInstantiation().

◆ UpdateTypeRep()

void clang::DeclSpec::UpdateTypeRep ( ParsedType Rep)
inline

Definition at line 793 of file DeclSpec.h.

References isTypeRep(), and TypeRep.

Referenced by RebuildDeclaratorInCurrentInstantiation().

Member Data Documentation

◆ DeclRep

Decl* clang::DeclSpec::DeclRep

Definition at line 393 of file DeclSpec.h.

Referenced by getRepAsDecl(), SetTypeSpecType(), and UpdateDeclRep().

◆ ExprRep

Expr* clang::DeclSpec::ExprRep

Definition at line 394 of file DeclSpec.h.

Referenced by getRepAsExpr(), SetBitIntType(), SetTypeSpecType(), and UpdateExprRep().

◆ TemplateIdRep

TemplateIdAnnotation* clang::DeclSpec::TemplateIdRep

Definition at line 395 of file DeclSpec.h.

Referenced by getRepAsTemplateId(), and SetTypeSpecType().

◆ TSCS___thread

const TSCS clang::DeclSpec::TSCS___thread = clang::TSCS___thread
static

Definition at line 237 of file DeclSpec.h.

Referenced by getSpecifierName().

◆ TSCS__Thread_local

const TSCS clang::DeclSpec::TSCS__Thread_local = clang::TSCS__Thread_local
static

Definition at line 239 of file DeclSpec.h.

Referenced by getSpecifierName().

◆ TSCS_thread_local

const TSCS clang::DeclSpec::TSCS_thread_local = clang::TSCS_thread_local
static

Definition at line 238 of file DeclSpec.h.

Referenced by clang::Sema::ActOnVariableDeclarator(), and getSpecifierName().

◆ TSCS_unspecified

const TSCS clang::DeclSpec::TSCS_unspecified = clang::TSCS_unspecified
static

◆ TST_accum

const TST clang::DeclSpec::TST_accum = clang::TST_Accum
static

Definition at line 264 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_atomic

const TST clang::DeclSpec::TST_atomic = clang::TST_atomic
static

◆ TST_auto

◆ TST_auto_type

const TST clang::DeclSpec::TST_auto_type = clang::TST_auto_type
static

Definition at line 290 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), getSpecifierName(), and hasAutoTypeSpec().

◆ TST_BFloat16

const TST clang::DeclSpec::TST_BFloat16 = clang::TST_BFloat16
static

Definition at line 260 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and getSpecifierName().

◆ TST_bitint

const TST clang::DeclSpec::TST_bitint = clang::TST_bitint
static

Definition at line 258 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), getSpecifierName(), and SetBitIntType().

◆ TST_bool

const TST clang::DeclSpec::TST_bool = clang::TST_bool
static

Definition at line 268 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), getSpecifierName(), and SetTypeSpecType().

◆ TST_char

const TST clang::DeclSpec::TST_char = clang::TST_char
static

Definition at line 251 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_char16

const TST clang::DeclSpec::TST_char16 = clang::TST_char16
static

Definition at line 254 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_char32

const TST clang::DeclSpec::TST_char32 = clang::TST_char32
static

Definition at line 255 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_char8

const TST clang::DeclSpec::TST_char8 = clang::TST_char8
static

Definition at line 253 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_class

◆ TST_decimal128

const TST clang::DeclSpec::TST_decimal128 = clang::TST_decimal128
static

Definition at line 271 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and getSpecifierName().

◆ TST_decimal32

const TST clang::DeclSpec::TST_decimal32 = clang::TST_decimal32
static

Definition at line 269 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and getSpecifierName().

◆ TST_decimal64

const TST clang::DeclSpec::TST_decimal64 = clang::TST_decimal64
static

Definition at line 270 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and getSpecifierName().

◆ TST_decltype

◆ TST_decltype_auto

const TST clang::DeclSpec::TST_decltype_auto = clang::TST_decltype_auto
static

◆ TST_double

const TST clang::DeclSpec::TST_double = clang::TST_double
static

Definition at line 262 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_enum

◆ TST_error

◆ TST_float

const TST clang::DeclSpec::TST_float = clang::TST_float
static

Definition at line 261 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_float128

const TST clang::DeclSpec::TST_float128 = clang::TST_float128
static

Definition at line 266 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_float16

const TST clang::DeclSpec::TST_float16 = clang::TST_Float16
static

Definition at line 263 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_fract

const TST clang::DeclSpec::TST_fract = clang::TST_Fract
static

Definition at line 265 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_half

const TST clang::DeclSpec::TST_half = clang::TST_half
static

Definition at line 259 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and getSpecifierName().

◆ TST_ibm128

const TST clang::DeclSpec::TST_ibm128 = clang::TST_ibm128
static

Definition at line 267 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_int

const TST clang::DeclSpec::TST_int = clang::TST_int
static

◆ TST_int128

const TST clang::DeclSpec::TST_int128 = clang::TST_int128
static

Definition at line 257 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TST_interface

◆ TST_struct

◆ TST_typename

◆ TST_typename_pack_indexing

◆ TST_typeof_unqualExpr

const TST clang::DeclSpec::TST_typeof_unqualExpr = clang::TST_typeof_unqualExpr
static

◆ TST_typeof_unqualType

const TST clang::DeclSpec::TST_typeof_unqualType = clang::TST_typeof_unqualType
static

◆ TST_typeofExpr

const TST clang::DeclSpec::TST_typeofExpr = clang::TST_typeofExpr
static

◆ TST_typeofType

const TST clang::DeclSpec::TST_typeofType = clang::TST_typeofType
static

◆ TST_union

◆ TST_unknown_anytype

const TST clang::DeclSpec::TST_unknown_anytype = clang::TST_unknown_anytype
static

Definition at line 291 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), and getSpecifierName().

◆ TST_unspecified

◆ TST_void

const TST clang::DeclSpec::TST_void = clang::TST_void
static

◆ TST_wchar

const TST clang::DeclSpec::TST_wchar = clang::TST_wchar
static

Definition at line 252 of file DeclSpec.h.

Referenced by ConvertDeclSpecToType(), Finish(), and getSpecifierName().

◆ TypeRep

UnionParsedType clang::DeclSpec::TypeRep

Definition at line 392 of file DeclSpec.h.

Referenced by getRepAsType(), SetTypeSpecType(), and UpdateTypeRep().


The documentation for this class was generated from the following files: