clang  6.0.0svn
Classes | Namespaces | Macros | Enumerations | Functions
Specifiers.h File Reference

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/OpenCLImageTypes.def"
Include dependency graph for Specifiers.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


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


 Dataflow Directional Tag Classes.


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


enum  clang::TypeSpecifierWidth { clang::TSW_unspecified, clang::TSW_short, clang::TSW_long, clang::TSW_longlong }
 Specifies the width of a type, e.g., short, long, or long long. More...
enum  clang::TypeSpecifierSign { clang::TSS_unspecified, clang::TSS_signed, clang::TSS_unsigned }
 Specifies the signedness of a type, e.g., signed or unsigned. More...
enum  clang::TypeSpecifiersPipe { clang::TSP_unspecified, clang::TSP_pipe }
enum  clang::TypeSpecifierType {
  clang::TST_unspecified, clang::TST_void, clang::TST_char, clang::TST_wchar,
  clang::TST_char16, clang::TST_char32, clang::TST_int, clang::TST_int128,
  clang::TST_half, clang::TST_Float16, clang::TST_float, clang::TST_double,
  clang::TST_float128, 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,
 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_RValue, 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,
 A further classification of the kind of object referenced by an l-value or x-value. More...
enum  clang::TemplateSpecializationKind {
  clang::TSK_Undeclared = 0, clang::TSK_ImplicitInstantiation, clang::TSK_ExplicitSpecialization, clang::TSK_ExplicitInstantiationDeclaration,
 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_PreserveMost,
 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,
 The storage duration for an object (per C++ []). More...
enum  clang::NullabilityKind : uint8_t { clang::NullabilityKind::NonNull = 0, clang::NullabilityKind::Nullable, clang::NullabilityKind::Unspecified }
 Describes the nullability of a particular type. More...
enum  clang::ParameterABI { clang::ParameterABI::Ordinary, clang::ParameterABI::SwiftIndirectResult, clang::ParameterABI::SwiftErrorResult, clang::ParameterABI::SwiftContext }
 Kinds of parameter ABI. More...


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...
llvm::StringRef clang::getNullabilitySpelling (NullabilityKind kind, bool isContextSensitive=false)
 Retrieve the spelling of the given nullability kind. More...
llvm::StringRef clang::getParameterABISpelling (ParameterABI kind)

Detailed Description

Defines various enumerations that describe declaration and type specifiers.

Definition in file Specifiers.h.

Macro Definition Documentation


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

Definition at line 78 of file Specifiers.h.