clang  14.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
Specifiers.h File Reference
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorHandling.h"
#include "clang/Basic/OpenCLImageTypes.def"
Include dependency graph for Specifiers.h:

Go to the source code of this file.

Classes

struct  clang::WrittenBuiltinSpecs
 Structure that packs information about the type specifiers that were written in a particular type specifier sequence. More...
 

Namespaces

 clang
 

Macros

#define GENERIC_IMAGE_TYPE(ImgType, Id)   TST_##ImgType##_t,
 

Enumerations

enum  clang::ExplicitSpecKind : unsigned { clang::ExplicitSpecKind::ResolvedFalse, clang::ExplicitSpecKind::ResolvedTrue, clang::ExplicitSpecKind::Unresolved }
 Define the meaning of possible values of the kind in ExplicitSpecifier. More...
 
enum  clang::ConstexprSpecKind { clang::ConstexprSpecKind::Unspecified, clang::ConstexprSpecKind::Constexpr, clang::ConstexprSpecKind::Consteval, clang::ConstexprSpecKind::Constinit }
 Define the kind of constexpr specifier. More...
 
enum  clang::TypeSpecifierWidth { clang::TypeSpecifierWidth::Unspecified, clang::TypeSpecifierWidth::Short, clang::TypeSpecifierWidth::Long, clang::TypeSpecifierWidth::LongLong }
 Specifies the width of a type, e.g., short, long, or long long. More...
 
enum  clang::TypeSpecifierSign { clang::TypeSpecifierSign::Unspecified, clang::TypeSpecifierSign::Signed, clang::TypeSpecifierSign::Unsigned }
 Specifies the signedness of a type, e.g., signed or unsigned. More...
 
enum  clang::TypeSpecifiersPipe { clang::TypeSpecifiersPipe::Unspecified, clang::TypeSpecifiersPipe::Pipe }
 
enum  clang::TypeSpecifierType {
  clang::TST_unspecified, clang::TST_void, clang::TST_char, clang::TST_wchar,
  clang::TST_char8, clang::TST_char16, clang::TST_char32, clang::TST_int,
  clang::TST_int128, clang::TST_extint, clang::TST_half, clang::TST_Float16,
  clang::TST_Accum, clang::TST_Fract, clang::TST_BFloat16, clang::TST_float,
  clang::TST_double, clang::TST_float128, clang::TST_ibm128, clang::TST_bool,
  clang::TST_decimal32, clang::TST_decimal64, clang::TST_decimal128, clang::TST_enum,
  clang::TST_union, clang::TST_struct, clang::TST_class, clang::TST_interface,
  clang::TST_typename, clang::TST_typeofType, clang::TST_typeofExpr, clang::TST_decltype,
  clang::TST_underlyingType, clang::TST_auto, clang::TST_decltype_auto, clang::TST_auto_type,
  clang::TST_unknown_anytype, clang::TST_atomic, clang::TST_error
}
 Specifies the kind of type. More...
 
enum  clang::AccessSpecifier { clang::AS_public, clang::AS_protected, clang::AS_private, clang::AS_none }
 A C++ access specifier (public, private, protected), plus the special value "none" which means different things in different contexts. More...
 
enum  clang::ExprValueKind { clang::VK_PRValue, clang::VK_LValue, clang::VK_XValue }
 The categorization of expression values, currently following the C++11 scheme. More...
 
enum  clang::ExprObjectKind {
  clang::OK_Ordinary, clang::OK_BitField, clang::OK_VectorComponent, clang::OK_ObjCProperty,
  clang::OK_ObjCSubscript, clang::OK_MatrixComponent
}
 A further classification of the kind of object referenced by an l-value or x-value. More...
 
enum  clang::NonOdrUseReason { clang::NOUR_None = 0, clang::NOUR_Unevaluated, clang::NOUR_Constant, clang::NOUR_Discarded }
 The reason why a DeclRefExpr does not constitute an odr-use. More...
 
enum  clang::TemplateSpecializationKind {
  clang::TSK_Undeclared = 0, clang::TSK_ImplicitInstantiation, clang::TSK_ExplicitSpecialization, clang::TSK_ExplicitInstantiationDeclaration,
  clang::TSK_ExplicitInstantiationDefinition
}
 Describes the kind of template specialization that a particular template specialization declaration represents. More...
 
enum  clang::ThreadStorageClassSpecifier { clang::TSCS_unspecified, clang::TSCS___thread, clang::TSCS_thread_local, clang::TSCS__Thread_local }
 Thread storage-class-specifier. More...
 
enum  clang::StorageClass {
  clang::SC_None, clang::SC_Extern, clang::SC_Static, clang::SC_PrivateExtern,
  clang::SC_Auto, clang::SC_Register
}
 Storage classes. More...
 
enum  clang::InClassInitStyle { clang::ICIS_NoInit, clang::ICIS_CopyInit, clang::ICIS_ListInit }
 In-class initialization styles for non-static data members. More...
 
enum  clang::CallingConv {
  clang::CC_C, clang::CC_X86StdCall, clang::CC_X86FastCall, clang::CC_X86ThisCall,
  clang::CC_X86VectorCall, clang::CC_X86Pascal, clang::CC_Win64, clang::CC_X86_64SysV,
  clang::CC_X86RegCall, clang::CC_AAPCS, clang::CC_AAPCS_VFP, clang::CC_IntelOclBicc,
  clang::CC_SpirFunction, clang::CC_OpenCLKernel, clang::CC_Swift, clang::CC_SwiftAsync,
  clang::CC_PreserveMost, clang::CC_PreserveAll, clang::CC_AArch64VectorCall
}
 CallingConv - Specifies the calling convention that a function uses. More...
 
enum  clang::StorageDuration {
  clang::SD_FullExpression, clang::SD_Automatic, clang::SD_Thread, clang::SD_Static,
  clang::SD_Dynamic
}
 The storage duration for an object (per C++ [basic.stc]). More...
 
enum  clang::NullabilityKind : uint8_t { clang::NullabilityKind::NonNull = 0, clang::NullabilityKind::Nullable, clang::NullabilityKind::Unspecified, clang::NullabilityKind::NullableResult }
 Describes the nullability of a particular type. More...
 
enum  clang::ParameterABI {
  clang::ParameterABI::Ordinary, clang::ParameterABI::SwiftIndirectResult, clang::ParameterABI::SwiftErrorResult, clang::ParameterABI::SwiftContext,
  clang::ParameterABI::SwiftAsyncContext
}
 Kinds of parameter ABI. More...
 
enum  clang::MSInheritanceModel { clang::MSInheritanceModel::Single = 0, clang::MSInheritanceModel::Multiple = 1, clang::MSInheritanceModel::Virtual = 2, clang::MSInheritanceModel::Unspecified = 3 }
 Assigned inheritance model for a class in the MS C++ ABI. More...
 

Functions

bool clang::isTemplateInstantiation (TemplateSpecializationKind Kind)
 Determine whether this template specialization kind refers to an instantiation of an entity (as opposed to a non-template or an explicit specialization). More...
 
bool clang::isTemplateExplicitInstantiationOrSpecialization (TemplateSpecializationKind Kind)
 True if this template specialization kind is an explicit specialization, explicit instantiation declaration, or explicit instantiation definition. More...
 
bool clang::isLegalForFunction (StorageClass SC)
 Checks whether the given storage class is legal for functions. More...
 
bool clang::isLegalForVariable (StorageClass SC)
 Checks whether the given storage class is legal for variables. More...
 
bool clang::supportsVariadicCall (CallingConv CC)
 Checks whether the given calling convention supports variadic calls. More...
 
bool clang::hasWeakerNullability (NullabilityKind L, NullabilityKind R)
 Return true if L has a weaker nullability annotation than R. More...
 
llvm::StringRef clang::getNullabilitySpelling (NullabilityKind kind, bool isContextSensitive=false)
 Retrieve the spelling of the given nullability kind. More...
 
llvm::StringRef clang::getParameterABISpelling (ParameterABI kind)
 
llvm::StringRef clang::getAccessSpelling (AccessSpecifier AS)
 

Detailed Description

Defines various enumerations that describe declaration and type specifiers.

Definition in file Specifiers.h.

Macro Definition Documentation

◆ GENERIC_IMAGE_TYPE

#define GENERIC_IMAGE_TYPE (   ImgType,
  Id 
)    TST_##ImgType##_t,

Definition at line 82 of file Specifiers.h.