16 #ifndef LLVM_CLANG_BASIC_SPECIFIERS_H
17 #define LLVM_CLANG_BASIC_SPECIFIERS_H
19 #include "llvm/ADT/StringRef.h"
20 #include "llvm/Support/DataTypes.h"
21 #include "llvm/Support/ErrorHandling.h"
77 #define GENERIC_IMAGE_TYPE(ImgType, Id) TST_##ImgType##_t, // OpenCL image types
78 #include "clang/Basic/OpenCLImageTypes.def"
184 llvm_unreachable(
"bad template specialization kind");
292 bool isContextSensitive =
false);
317 #endif // LLVM_CLANG_BASIC_SPECIFIERS_H
NullabilityKind
Describes the nullability of a particular type.
The base class of the type hierarchy.
AccessSpecifier
A C++ access specifier (public, private, protected), plus the special value "none" which means differ...
StorageDuration
The storage duration for an object (per C++ [basic.stc]).
An Objective-C array/dictionary subscripting which reads an object or writes at the subscripted array...
TypeSpecifierType
Specifies the kind of type.
bool isTemplateExplicitInstantiationOrSpecialization(TemplateSpecializationKind Kind)
True if this template specialization kind is an explicit specialization, explicit instantiation decla...
A vector component is an element or range of elements on a vector.
TypeSpecifierSign
Specifies the signedness of a type, e.g., signed or unsigned.
An r-value expression (a pr-value in the C++11 taxonomy) produces a temporary value.
Values of this type can be null.
This parameter (which must have pointer type) uses the special Swift context-pointer ABI treatment...
Whether values of this type can be null is (explicitly) unspecified.
An x-value expression is a reference to an object with independent storage but which can be "moved"...
Values of this type can never be null.
An ordinary object is located at an address in memory.
This parameter (which must have pointer-to-pointer type) uses the special Swift error-result ABI trea...
An Objective-C property is a logical field of an Objective-C object which is read and written via Obj...
ExprValueKind
The categorization of expression values, currently following the C++11 scheme.
bool supportsVariadicCall(CallingConv CC)
Checks whether the given calling convention supports variadic calls.
StorageClass
Storage classes.
bool isLegalForFunction(StorageClass SC)
Checks whether the given storage class is legal for functions.
InClassInitStyle
In-class initialization styles for non-static data members.
This template specialization was implicitly instantiated from a template.
bool isTemplateInstantiation(TemplateSpecializationKind Kind)
Determine whether this template specialization kind refers to an instantiation of an entity (as oppos...
CallingConv
CallingConv - Specifies the calling convention that a function uses.
Dynamic storage duration.
ExprObjectKind
A further classification of the kind of object referenced by an l-value or x-value.
bool isLegalForVariable(StorageClass SC)
Checks whether the given storage class is legal for variables.
Direct list-initialization.
This template specialization was instantiated from a template due to an explicit instantiation defini...
This template specialization was formed from a template-id but has not yet been declared, defined, or instantiated.
ParameterABI
Kinds of parameter ABI.
This template specialization was instantiated from a template due to an explicit instantiation declar...
TemplateSpecializationKind
Describes the kind of template specialization that a particular template specialization declaration r...
This template specialization was declared or defined by an explicit specialization (C++ [temp...
llvm::StringRef getParameterABISpelling(ParameterABI kind)
A bitfield object is a bitfield on a C or C++ record.
Structure that packs information about the type specifiers that were written in a particular type spe...
ThreadStorageClassSpecifier
Thread storage-class-specifier.
TypeSpecifierWidth
Specifies the width of a type, e.g., short, long, or long long.
unsigned kind
All of the diagnostics that can be emitted by the frontend.
Full-expression storage duration (for temporaries).
An l-value expression is a reference to an object with independent storage.
Automatic storage duration (most local variables).
llvm::StringRef getNullabilitySpelling(NullabilityKind kind, bool isContextSensitive=false)
Retrieve the spelling of the given nullability kind.
This parameter (which must have pointer type) is a Swift indirect result parameter.