clang: include/clang/Basic/Specifiers.h File Reference (original) (raw)

Defines various enumerations that describe declaration and type specifiers. More...

#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorHandling.h"
#include "clang/Basic/TransformTypeTraits.def"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"

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
namespace llvm
Diagnostic wrappers for TextAPI types for error reporting.
namespace clang
The JSON file list parser is used to communicate input to InstallAPI.
Macros
#define TRANSFORM_TYPE_TRAIT_DEF(_, Trait) TST_##Trait,
#define GENERIC_IMAGE_TYPE(ImgType, Id) TST_##ImgType##_t,
#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) TST_##Name,
Enumerations
enum class clang::ExplicitSpecKind : unsigned { clang::ResolvedFalse, clang::ResolvedTrue, clang::Unresolved }
Define the meaning of possible values of the kind in ExplicitSpecifier. More...
enum class clang::ConstexprSpecKind { clang::Unspecified, clang::Constexpr, clang::Consteval, clang::Constinit }
Define the kind of constexpr specifier. More...
enum class clang::IfStatementKind : unsigned { clang::Ordinary, clang::Constexpr, clang::ConstevalNonNegated, clang::ConstevalNegated }
In an if statement, this denotes whether the statement is a constexpr or consteval if statement. More...
enum class clang::TypeSpecifierWidth { clang::Unspecified, clang::Short, clang::Long, clang::LongLong }
Specifies the width of a type, e.g., short, long, or long long. More...
enum class clang::TypeSpecifierSign { clang::Unspecified, clang::Signed, clang::Unsigned }
Specifies the signedness of a type, e.g., signed or unsigned. More...
enum class clang::TypeSpecifiersPipe { clang::Unspecified, clang::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_bitint, 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_typeof_unqualType, clang::TST_typeof_unqualExpr, clang::TST_decltype, clang::TST_auto, clang::TST_decltype_auto, clang::TST_auto_type, clang::TST_unknown_anytype, clang::TST_atomic, clang::TST_typename_pack_indexing, 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, clang::CC_AArch64SVEPCS, clang::CC_AMDGPUKernelCall, clang::CC_M68kRTD, clang::CC_PreserveNone, clang::CC_RISCVVectorCall }
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 class clang::NullabilityKind : uint8_t { clang::NonNull = 0 , clang::Nullable, clang::Unspecified, clang::NullableResult }
Describes the nullability of a particular type. More...
enum class clang::ParameterABI { clang::Ordinary, clang::SwiftIndirectResult, clang::SwiftErrorResult, clang::SwiftContext, clang::SwiftAsyncContext, clang::HLSLOut, clang::HLSLInOut }
Kinds of parameter ABI. More...
enum class clang::MSInheritanceModel { clang::Single = 0 , clang::Multiple = 1 , clang::Virtual = 2 , clang::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).
bool clang::isTemplateExplicitInstantiationOrSpecialization (TemplateSpecializationKind Kind)
True if this template specialization kind is an explicit specialization, explicit instantiation declaration, or explicit instantiation definition.
bool clang::isLegalForFunction (StorageClass SC)
Checks whether the given storage class is legal for functions.
bool clang::isLegalForVariable (StorageClass SC)
Checks whether the given storage class is legal for variables.
bool clang::supportsVariadicCall (CallingConv CC)
Checks whether the given calling convention supports variadic calls.
llvm::raw_ostream & clang::operator<< (llvm::raw_ostream &, NullabilityKind)
Prints human-readable debug representation.
bool clang::hasWeakerNullability (NullabilityKind L, NullabilityKind R)
Return true if L has a weaker nullability annotation than R.
llvm::StringRef clang::getNullabilitySpelling (NullabilityKind kind, bool isContextSensitive=false)
Retrieve the spelling of the given nullability kind.
llvm::StringRef clang::getParameterABISpelling (ParameterABI kind)
llvm::StringRef clang::getAccessSpelling (AccessSpecifier AS)

Defines various enumerations that describe declaration and type specifiers.

Definition in file Specifiers.h.

GENERIC_IMAGE_TYPE

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

HLSL_INTANGIBLE_TYPE

| #define HLSL_INTANGIBLE_TYPE | ( | | Name, | | --------------------------------------------------------------- | ------------ | | ----- | | | Id, | | | | | | SingletonId | | | | | ) | TST_##Name, | | |

TRANSFORM_TYPE_TRAIT_DEF

| #define TRANSFORM_TYPE_TRAIT_DEF | ( | | _, | | ----------------------------------- | ------------- | | --- | | | Trait | | | | | ) | TST_##Trait, | | |