clang 19.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Variables
ASTBitCodes.h File Reference
#include "clang/AST/DeclID.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/Type.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/OperatorKinds.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Serialization/SourceLocationEncoding.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/Bitstream/BitCodes.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <cstdint>
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64SVEACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/AMDGPUTypes.def"
#include "clang/Serialization/TypeBitCodes.def"

Go to the source code of this file.

Classes

class  clang::serialization::TypeIdx
 A type index; the type ID with the qualifier bits removed. More...
 
struct  clang::serialization::UnsafeQualTypeDenseMapInfo
 A structure for putting "fast"-unqualified QualTypes into a DenseMap. More...
 
class  clang::serialization::UnalignedUInt64
 32 aligned uint64_t in the AST file. More...
 
class  clang::serialization::PPEntityOffset
 Source range/offset of a preprocessed entity. More...
 
class  clang::serialization::PPSkippedRange
 Source range of a skipped preprocessor region. More...
 
class  clang::serialization::DeclOffset
 Source location and bit offset of a declaration. More...
 
struct  clang::serialization::ObjCCategoriesInfo
 Describes the categories of an Objective-C class. More...
 
class  clang::serialization::DeclarationNameKey
 A key used when looking up entities by DeclarationName. More...
 
struct  llvm::DenseMapInfo< clang::serialization::DeclarationNameKey >
 

Namespaces

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::serialization
 
namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 

Macros

#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix)    PREDEF_TYPE_##Id##_ID,
 OpenCL image types with auto numeration.
 
#define EXT_OPAQUE_TYPE(ExtType, Id, Ext)   PREDEF_TYPE_##Id##_ID,
 OpenCL extension types with auto numeration.
 
#define SVE_TYPE(Name, Id, SingletonId)   PREDEF_TYPE_##Id##_ID,
 
#define PPC_VECTOR_TYPE(Name, Id, Size)   PREDEF_TYPE_##Id##_ID,
 
#define RVV_TYPE(Name, Id, SingletonId)   PREDEF_TYPE_##Id##_ID,
 
#define WASM_TYPE(Name, Id, SingletonId)   PREDEF_TYPE_##Id##_ID,
 
#define AMDGPU_TYPE(Name, Id, SingletonId)   PREDEF_TYPE_##Id##_ID,
 
#define TYPE_BIT_CODE(CLASS_ID, CODE_ID, CODE_VALUE)    TYPE_##CODE_ID = CODE_VALUE,
 

Typedefs

using clang::serialization::IdentifierID = uint64_t
 An ID number that refers to an identifier in an AST file.
 
using clang::serialization::DeclID = DeclIDBase::DeclID
 An ID number that refers to a declaration in an AST file.
 
using clang::serialization::TypeID = uint64_t
 An ID number that refers to a type in an AST file.
 
using clang::serialization::LocalTypeID = TypeID
 Same with TypeID except that the LocalTypeID is only meaningful with the corresponding ModuleFile.
 
using clang::serialization::MacroID = uint32_t
 An ID number that refers to a macro in an AST file.
 
using clang::serialization::GlobalMacroID = uint32_t
 A global ID number that refers to a macro in an AST file.
 
using clang::serialization::LocalMacroID = uint32_t
 A local to a module ID number that refers to a macro in an AST file.
 
using clang::serialization::SelectorID = uint32_t
 An ID number that refers to an ObjC selector in an AST file.
 
using clang::serialization::CXXBaseSpecifiersID = uint32_t
 An ID number that refers to a set of CXXBaseSpecifiers in an AST file.
 
using clang::serialization::CXXCtorInitializersID = uint32_t
 An ID number that refers to a list of CXXCtorInitializers in an AST file.
 
using clang::serialization::PreprocessedEntityID = uint32_t
 An ID number that refers to an entity in the detailed preprocessing record.
 
using clang::serialization::SubmoduleID = uint32_t
 An ID number that refers to a submodule in a module file.
 
using clang::serialization::unaligned_decl_id_t = llvm::support::detail::packed_endian_specific_integral< serialization::DeclID, llvm::endianness::native, llvm::support::unaligned >
 

Enumerations

enum  clang::serialization::BlockIDs {
  clang::serialization::AST_BLOCK_ID = llvm::bitc::FIRST_APPLICATION_BLOCKID , clang::serialization::SOURCE_MANAGER_BLOCK_ID , clang::serialization::PREPROCESSOR_BLOCK_ID , clang::serialization::DECLTYPES_BLOCK_ID ,
  clang::serialization::PREPROCESSOR_DETAIL_BLOCK_ID , clang::serialization::SUBMODULE_BLOCK_ID , clang::serialization::COMMENTS_BLOCK_ID , clang::serialization::CONTROL_BLOCK_ID ,
  clang::serialization::INPUT_FILES_BLOCK_ID , clang::serialization::OPTIONS_BLOCK_ID , clang::serialization::EXTENSION_BLOCK_ID , clang::serialization::UNHASHED_CONTROL_BLOCK_ID
}
 Describes the various kinds of blocks that occur within an AST file. More...
 
enum  clang::serialization::ControlRecordTypes {
  clang::serialization::METADATA = 1 , clang::serialization::IMPORTS , clang::serialization::ORIGINAL_FILE , clang::serialization::ORIGINAL_FILE_ID ,
  clang::serialization::INPUT_FILE_OFFSETS , clang::serialization::MODULE_NAME , clang::serialization::MODULE_MAP_FILE , clang::serialization::MODULE_DIRECTORY
}
 Record types that occur within the control block. More...
 
enum  clang::serialization::OptionsRecordTypes {
  clang::serialization::LANGUAGE_OPTIONS = 1 , clang::serialization::TARGET_OPTIONS , clang::serialization::FILE_SYSTEM_OPTIONS , clang::serialization::HEADER_SEARCH_OPTIONS ,
  clang::serialization::PREPROCESSOR_OPTIONS
}
 Record types that occur within the options block inside the control block. More...
 
enum  clang::serialization::UnhashedControlBlockRecordTypes {
  clang::serialization::SIGNATURE = 1 , clang::serialization::AST_BLOCK_HASH , clang::serialization::DIAGNOSTIC_OPTIONS , clang::serialization::HEADER_SEARCH_PATHS ,
  clang::serialization::DIAG_PRAGMA_MAPPINGS , clang::serialization::HEADER_SEARCH_ENTRY_USAGE , clang::serialization::VFS_USAGE
}
 Record codes for the unhashed control block. More...
 
enum  clang::serialization::ExtensionBlockRecordTypes { clang::serialization::EXTENSION_METADATA = 1 , clang::serialization::FIRST_EXTENSION_RECORD_ID = 4 }
 Record code for extension blocks. More...
 
enum  clang::serialization::InputFileRecordTypes { clang::serialization::INPUT_FILE = 1 , clang::serialization::INPUT_FILE_HASH }
 Record types that occur within the input-files block inside the control block. More...
 
enum  clang::serialization::ASTRecordTypes {
  clang::serialization::TYPE_OFFSET = 1 , clang::serialization::DECL_OFFSET = 2 , clang::serialization::IDENTIFIER_OFFSET = 3 , clang::serialization::METADATA_OLD_FORMAT = 4 ,
  clang::serialization::IDENTIFIER_TABLE = 5 , clang::serialization::EAGERLY_DESERIALIZED_DECLS = 6 , clang::serialization::SPECIAL_TYPES = 7 , clang::serialization::STATISTICS = 8 ,
  clang::serialization::TENTATIVE_DEFINITIONS = 9 , clang::serialization::SELECTOR_OFFSETS = 11 , clang::serialization::METHOD_POOL = 12 , clang::serialization::PP_COUNTER_VALUE = 13 ,
  clang::serialization::SOURCE_LOCATION_OFFSETS = 14 , clang::serialization::EXT_VECTOR_DECLS = 16 , clang::serialization::UNUSED_FILESCOPED_DECLS = 17 , clang::serialization::PPD_ENTITIES_OFFSETS = 18 ,
  clang::serialization::VTABLE_USES = 19 , clang::serialization::REFERENCED_SELECTOR_POOL = 21 , clang::serialization::TU_UPDATE_LEXICAL = 22 , clang::serialization::SEMA_DECL_REFS = 24 ,
  clang::serialization::WEAK_UNDECLARED_IDENTIFIERS = 25 , clang::serialization::PENDING_IMPLICIT_INSTANTIATIONS = 26 , clang::serialization::UPDATE_VISIBLE = 28 , clang::serialization::DECL_UPDATE_OFFSETS = 29 ,
  clang::serialization::CUDA_SPECIAL_DECL_REFS = 33 , clang::serialization::HEADER_SEARCH_TABLE = 34 , clang::serialization::FP_PRAGMA_OPTIONS = 35 , clang::serialization::OPENCL_EXTENSIONS = 36 ,
  clang::serialization::DELEGATING_CTORS = 37 , clang::serialization::KNOWN_NAMESPACES = 38 , clang::serialization::MODULE_OFFSET_MAP = 39 , clang::serialization::SOURCE_MANAGER_LINE_TABLE = 40 ,
  clang::serialization::OBJC_CATEGORIES_MAP = 41 , clang::serialization::FILE_SORTED_DECLS = 42 , clang::serialization::IMPORTED_MODULES = 43 , clang::serialization::OBJC_CATEGORIES = 46 ,
  clang::serialization::MACRO_OFFSET = 47 , clang::serialization::INTERESTING_IDENTIFIERS = 48 , clang::serialization::UNDEFINED_BUT_USED = 49 , clang::serialization::LATE_PARSED_TEMPLATE = 50 ,
  clang::serialization::OPTIMIZE_PRAGMA_OPTIONS = 51 , clang::serialization::UNUSED_LOCAL_TYPEDEF_NAME_CANDIDATES = 52 , clang::serialization::DELETE_EXPRS_TO_ANALYZE = 54 , clang::serialization::MSSTRUCT_PRAGMA_OPTIONS = 55 ,
  clang::serialization::POINTERS_TO_MEMBERS_PRAGMA_OPTIONS = 56 , clang::serialization::CUDA_PRAGMA_FORCE_HOST_DEVICE_DEPTH = 57 , clang::serialization::OPENCL_EXTENSION_TYPES = 58 , clang::serialization::OPENCL_EXTENSION_DECLS = 59 ,
  clang::serialization::MODULAR_CODEGEN_DECLS = 60 , clang::serialization::ALIGN_PACK_PRAGMA_OPTIONS = 61 , clang::serialization::PP_CONDITIONAL_STACK = 62 , clang::serialization::PPD_SKIPPED_RANGES = 63 ,
  clang::serialization::DECLS_TO_CHECK_FOR_DEFERRED_DIAGS = 64 , clang::serialization::FLOAT_CONTROL_PRAGMA_OPTIONS = 65 , clang::serialization::PP_ASSUME_NONNULL_LOC = 67 , clang::serialization::DELAYED_NAMESPACE_LEXICAL_VISIBLE_RECORD = 68 ,
  clang::serialization::PP_UNSAFE_BUFFER_USAGE = 69
}
 Record types that occur within the AST block itself. More...
 
enum  clang::serialization::SourceManagerRecordTypes {
  clang::serialization::SM_SLOC_FILE_ENTRY = 1 , clang::serialization::SM_SLOC_BUFFER_ENTRY = 2 , clang::serialization::SM_SLOC_BUFFER_BLOB = 3 , clang::serialization::SM_SLOC_BUFFER_BLOB_COMPRESSED = 4 ,
  clang::serialization::SM_SLOC_EXPANSION_ENTRY = 5
}
 Record types used within a source manager block. More...
 
enum  clang::serialization::PreprocessorRecordTypes {
  clang::serialization::PP_MACRO_OBJECT_LIKE = 1 , clang::serialization::PP_MACRO_FUNCTION_LIKE = 2 , clang::serialization::PP_TOKEN = 3 , clang::serialization::PP_MACRO_DIRECTIVE_HISTORY = 4 ,
  clang::serialization::PP_MODULE_MACRO = 5
}
 Record types used within a preprocessor block. More...
 
enum  clang::serialization::PreprocessorDetailRecordTypes { clang::serialization::PPD_MACRO_EXPANSION = 0 , clang::serialization::PPD_MACRO_DEFINITION = 1 , clang::serialization::PPD_INCLUSION_DIRECTIVE = 2 }
 Record types used within a preprocessor detail block. More...
 
enum  clang::serialization::SubmoduleRecordTypes {
  clang::serialization::SUBMODULE_METADATA = 0 , clang::serialization::SUBMODULE_DEFINITION = 1 , clang::serialization::SUBMODULE_UMBRELLA_HEADER = 2 , clang::serialization::SUBMODULE_HEADER = 3 ,
  clang::serialization::SUBMODULE_TOPHEADER = 4 , clang::serialization::SUBMODULE_UMBRELLA_DIR = 5 , clang::serialization::SUBMODULE_IMPORTS = 6 , clang::serialization::SUBMODULE_EXPORTS = 7 ,
  clang::serialization::SUBMODULE_REQUIRES = 8 , clang::serialization::SUBMODULE_EXCLUDED_HEADER = 9 , clang::serialization::SUBMODULE_LINK_LIBRARY = 10 , clang::serialization::SUBMODULE_CONFIG_MACRO = 11 ,
  clang::serialization::SUBMODULE_CONFLICT = 12 , clang::serialization::SUBMODULE_PRIVATE_HEADER = 13 , clang::serialization::SUBMODULE_TEXTUAL_HEADER = 14 , clang::serialization::SUBMODULE_PRIVATE_TEXTUAL_HEADER = 15 ,
  clang::serialization::SUBMODULE_INITIALIZERS = 16 , clang::serialization::SUBMODULE_EXPORT_AS = 17 , clang::serialization::SUBMODULE_AFFECTING_MODULES = 18
}
 Record types used within a submodule description block. More...
 
enum  clang::serialization::CommentRecordTypes { clang::serialization::COMMENTS_RAW_COMMENT = 0 }
 Record types used within a comments block. More...
 
enum  clang::serialization::PredefinedTypeIDs {
  clang::serialization::PREDEF_TYPE_NULL_ID = 0 , clang::serialization::PREDEF_TYPE_VOID_ID = 1 , clang::serialization::PREDEF_TYPE_BOOL_ID = 2 , clang::serialization::PREDEF_TYPE_CHAR_U_ID = 3 ,
  clang::serialization::PREDEF_TYPE_UCHAR_ID = 4 , clang::serialization::PREDEF_TYPE_USHORT_ID = 5 , clang::serialization::PREDEF_TYPE_UINT_ID = 6 , clang::serialization::PREDEF_TYPE_ULONG_ID = 7 ,
  clang::serialization::PREDEF_TYPE_ULONGLONG_ID = 8 , clang::serialization::PREDEF_TYPE_CHAR_S_ID = 9 , clang::serialization::PREDEF_TYPE_SCHAR_ID = 10 , clang::serialization::PREDEF_TYPE_WCHAR_ID = 11 ,
  clang::serialization::PREDEF_TYPE_SHORT_ID = 12 , clang::serialization::PREDEF_TYPE_INT_ID = 13 , clang::serialization::PREDEF_TYPE_LONG_ID = 14 , clang::serialization::PREDEF_TYPE_LONGLONG_ID = 15 ,
  clang::serialization::PREDEF_TYPE_FLOAT_ID = 16 , clang::serialization::PREDEF_TYPE_DOUBLE_ID = 17 , clang::serialization::PREDEF_TYPE_LONGDOUBLE_ID = 18 , clang::serialization::PREDEF_TYPE_OVERLOAD_ID = 19 ,
  clang::serialization::PREDEF_TYPE_DEPENDENT_ID = 20 , clang::serialization::PREDEF_TYPE_UINT128_ID = 21 , clang::serialization::PREDEF_TYPE_INT128_ID = 22 , clang::serialization::PREDEF_TYPE_NULLPTR_ID = 23 ,
  clang::serialization::PREDEF_TYPE_CHAR16_ID = 24 , clang::serialization::PREDEF_TYPE_CHAR32_ID = 25 , clang::serialization::PREDEF_TYPE_OBJC_ID = 26 , clang::serialization::PREDEF_TYPE_OBJC_CLASS = 27 ,
  clang::serialization::PREDEF_TYPE_OBJC_SEL = 28 , clang::serialization::PREDEF_TYPE_UNKNOWN_ANY = 29 , clang::serialization::PREDEF_TYPE_BOUND_MEMBER = 30 , clang::serialization::PREDEF_TYPE_AUTO_DEDUCT = 31 ,
  clang::serialization::PREDEF_TYPE_AUTO_RREF_DEDUCT = 32 , clang::serialization::PREDEF_TYPE_HALF_ID = 33 , clang::serialization::PREDEF_TYPE_ARC_UNBRIDGED_CAST = 34 , clang::serialization::PREDEF_TYPE_PSEUDO_OBJECT = 35 ,
  clang::serialization::PREDEF_TYPE_BUILTIN_FN = 36 , clang::serialization::PREDEF_TYPE_EVENT_ID = 37 , clang::serialization::PREDEF_TYPE_CLK_EVENT_ID = 38 , clang::serialization::PREDEF_TYPE_SAMPLER_ID = 39 ,
  clang::serialization::PREDEF_TYPE_QUEUE_ID = 40 , clang::serialization::PREDEF_TYPE_RESERVE_ID_ID = 41 , clang::serialization::PREDEF_TYPE_ARRAY_SECTION = 42 , clang::serialization::PREDEF_TYPE_FLOAT128_ID = 43 ,
  clang::serialization::PREDEF_TYPE_FLOAT16_ID = 44 , clang::serialization::PREDEF_TYPE_CHAR8_ID = 45 , clang::serialization::PREDEF_TYPE_SHORT_ACCUM_ID = 46 , clang::serialization::PREDEF_TYPE_ACCUM_ID = 47 ,
  clang::serialization::PREDEF_TYPE_LONG_ACCUM_ID = 48 , clang::serialization::PREDEF_TYPE_USHORT_ACCUM_ID = 49 , clang::serialization::PREDEF_TYPE_UACCUM_ID = 50 , clang::serialization::PREDEF_TYPE_ULONG_ACCUM_ID = 51 ,
  clang::serialization::PREDEF_TYPE_SHORT_FRACT_ID = 52 , clang::serialization::PREDEF_TYPE_FRACT_ID = 53 , clang::serialization::PREDEF_TYPE_LONG_FRACT_ID = 54 , clang::serialization::PREDEF_TYPE_USHORT_FRACT_ID = 55 ,
  clang::serialization::PREDEF_TYPE_UFRACT_ID = 56 , clang::serialization::PREDEF_TYPE_ULONG_FRACT_ID = 57 , clang::serialization::PREDEF_TYPE_SAT_SHORT_ACCUM_ID = 58 , clang::serialization::PREDEF_TYPE_SAT_ACCUM_ID = 59 ,
  clang::serialization::PREDEF_TYPE_SAT_LONG_ACCUM_ID = 60 , clang::serialization::PREDEF_TYPE_SAT_USHORT_ACCUM_ID = 61 , clang::serialization::PREDEF_TYPE_SAT_UACCUM_ID = 62 , clang::serialization::PREDEF_TYPE_SAT_ULONG_ACCUM_ID = 63 ,
  clang::serialization::PREDEF_TYPE_SAT_SHORT_FRACT_ID = 64 , clang::serialization::PREDEF_TYPE_SAT_FRACT_ID = 65 , clang::serialization::PREDEF_TYPE_SAT_LONG_FRACT_ID = 66 , clang::serialization::PREDEF_TYPE_SAT_USHORT_FRACT_ID = 67 ,
  clang::serialization::PREDEF_TYPE_SAT_UFRACT_ID = 68 , clang::serialization::PREDEF_TYPE_SAT_ULONG_FRACT_ID = 69 , clang::serialization::PREDEF_TYPE_OMP_ARRAY_SHAPING = 70 , clang::serialization::PREDEF_TYPE_OMP_ITERATOR = 71 ,
  clang::serialization::PREDEF_TYPE_INCOMPLETE_MATRIX_IDX = 72 , clang::serialization::PREDEF_TYPE_BFLOAT16_ID = 73 , clang::serialization::PREDEF_TYPE_IBM128_ID = 74 , clang::serialization::PREDEF_TYPE_UNRESOLVED_TEMPLATE ,
  clang::serialization::PREDEF_TYPE_LAST_ID
}
 Predefined type IDs. More...
 
enum  clang::serialization::TypeCode { clang::serialization::TYPE_EXT_QUAL = 1 }
 Record codes for each kind of type. More...
 
enum  clang::serialization::SpecialTypeIDs {
  clang::serialization::SPECIAL_TYPE_CF_CONSTANT_STRING = 0 , clang::serialization::SPECIAL_TYPE_FILE = 1 , clang::serialization::SPECIAL_TYPE_JMP_BUF = 2 , clang::serialization::SPECIAL_TYPE_SIGJMP_BUF = 3 ,
  clang::serialization::SPECIAL_TYPE_OBJC_ID_REDEFINITION = 4 , clang::serialization::SPECIAL_TYPE_OBJC_CLASS_REDEFINITION = 5 , clang::serialization::SPECIAL_TYPE_OBJC_SEL_REDEFINITION = 6 , clang::serialization::SPECIAL_TYPE_UCONTEXT_T = 7
}
 The type IDs for special types constructed by semantic analysis. More...
 
enum  clang::serialization::DeclCode {
  clang::serialization::DECL_TYPEDEF = 51 , clang::serialization::DECL_TYPEALIAS , clang::serialization::DECL_ENUM , clang::serialization::DECL_RECORD ,
  clang::serialization::DECL_ENUM_CONSTANT , clang::serialization::DECL_FUNCTION , clang::serialization::DECL_OBJC_METHOD , clang::serialization::DECL_OBJC_INTERFACE ,
  clang::serialization::DECL_OBJC_PROTOCOL , clang::serialization::DECL_OBJC_IVAR , clang::serialization::DECL_OBJC_AT_DEFS_FIELD , clang::serialization::DECL_OBJC_CATEGORY ,
  clang::serialization::DECL_OBJC_CATEGORY_IMPL , clang::serialization::DECL_OBJC_IMPLEMENTATION , clang::serialization::DECL_OBJC_COMPATIBLE_ALIAS , clang::serialization::DECL_OBJC_PROPERTY ,
  clang::serialization::DECL_OBJC_PROPERTY_IMPL , clang::serialization::DECL_FIELD , clang::serialization::DECL_MS_PROPERTY , clang::serialization::DECL_MS_GUID ,
  clang::serialization::DECL_TEMPLATE_PARAM_OBJECT , clang::serialization::DECL_VAR , clang::serialization::DECL_IMPLICIT_PARAM , clang::serialization::DECL_PARM_VAR ,
  clang::serialization::DECL_DECOMPOSITION , clang::serialization::DECL_BINDING , clang::serialization::DECL_FILE_SCOPE_ASM , clang::serialization::DECL_TOP_LEVEL_STMT_DECL ,
  clang::serialization::DECL_BLOCK , clang::serialization::DECL_CAPTURED , clang::serialization::DECL_CONTEXT_LEXICAL , clang::serialization::DECL_CONTEXT_VISIBLE ,
  clang::serialization::DECL_LABEL , clang::serialization::DECL_NAMESPACE , clang::serialization::DECL_NAMESPACE_ALIAS , clang::serialization::DECL_USING ,
  clang::serialization::DECL_USING_ENUM , clang::serialization::DECL_USING_PACK , clang::serialization::DECL_USING_SHADOW , clang::serialization::DECL_CONSTRUCTOR_USING_SHADOW ,
  clang::serialization::DECL_USING_DIRECTIVE , clang::serialization::DECL_UNRESOLVED_USING_VALUE , clang::serialization::DECL_UNRESOLVED_USING_TYPENAME , clang::serialization::DECL_LINKAGE_SPEC ,
  clang::serialization::DECL_EXPORT , clang::serialization::DECL_CXX_RECORD , clang::serialization::DECL_CXX_DEDUCTION_GUIDE , clang::serialization::DECL_CXX_METHOD ,
  clang::serialization::DECL_CXX_CONSTRUCTOR , clang::serialization::DECL_CXX_DESTRUCTOR , clang::serialization::DECL_CXX_CONVERSION , clang::serialization::DECL_ACCESS_SPEC ,
  clang::serialization::DECL_FRIEND , clang::serialization::DECL_FRIEND_TEMPLATE , clang::serialization::DECL_CLASS_TEMPLATE , clang::serialization::DECL_CLASS_TEMPLATE_SPECIALIZATION ,
  clang::serialization::DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION , clang::serialization::DECL_VAR_TEMPLATE , clang::serialization::DECL_VAR_TEMPLATE_SPECIALIZATION , clang::serialization::DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION ,
  clang::serialization::DECL_FUNCTION_TEMPLATE , clang::serialization::DECL_TEMPLATE_TYPE_PARM , clang::serialization::DECL_NON_TYPE_TEMPLATE_PARM , clang::serialization::DECL_TEMPLATE_TEMPLATE_PARM ,
  clang::serialization::DECL_TYPE_ALIAS_TEMPLATE , clang::serialization::DECL_CONCEPT , clang::serialization::DECL_UNRESOLVED_USING_IF_EXISTS , clang::serialization::DECL_STATIC_ASSERT ,
  clang::serialization::DECL_CXX_BASE_SPECIFIERS , clang::serialization::DECL_CXX_CTOR_INITIALIZERS , clang::serialization::DECL_INDIRECTFIELD , clang::serialization::DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK ,
  clang::serialization::DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK , clang::serialization::DECL_IMPORT , clang::serialization::DECL_OMP_THREADPRIVATE , clang::serialization::DECL_OMP_REQUIRES ,
  clang::serialization::DECL_OMP_ALLOCATE , clang::serialization::DECL_EMPTY , clang::serialization::DECL_LIFETIME_EXTENDED_TEMPORARY , clang::serialization::DECL_REQUIRES_EXPR_BODY ,
  clang::serialization::DECL_OBJC_TYPE_PARAM , clang::serialization::DECL_OMP_CAPTUREDEXPR , clang::serialization::DECL_PRAGMA_COMMENT , clang::serialization::DECL_PRAGMA_DETECT_MISMATCH ,
  clang::serialization::DECL_OMP_DECLARE_MAPPER , clang::serialization::DECL_OMP_DECLARE_REDUCTION , clang::serialization::DECL_UNNAMED_GLOBAL_CONSTANT , clang::serialization::DECL_HLSL_BUFFER ,
  clang::serialization::DECL_IMPLICIT_CONCEPT_SPECIALIZATION , clang::serialization::DECL_LAST = DECL_IMPLICIT_CONCEPT_SPECIALIZATION
}
 Record codes for each kind of declaration. More...
 
enum  clang::serialization::StmtCode {
  clang::serialization::STMT_STOP = DECL_LAST + 1 , clang::serialization::STMT_NULL_PTR , clang::serialization::STMT_REF_PTR , clang::serialization::STMT_NULL ,
  clang::serialization::STMT_COMPOUND , clang::serialization::STMT_CASE , clang::serialization::STMT_DEFAULT , clang::serialization::STMT_LABEL ,
  clang::serialization::STMT_ATTRIBUTED , clang::serialization::STMT_IF , clang::serialization::STMT_SWITCH , clang::serialization::STMT_WHILE ,
  clang::serialization::STMT_DO , clang::serialization::STMT_FOR , clang::serialization::STMT_GOTO , clang::serialization::STMT_INDIRECT_GOTO ,
  clang::serialization::STMT_CONTINUE , clang::serialization::STMT_BREAK , clang::serialization::STMT_RETURN , clang::serialization::STMT_DECL ,
  clang::serialization::STMT_CAPTURED , clang::serialization::STMT_GCCASM , clang::serialization::STMT_MSASM , clang::serialization::EXPR_CONSTANT ,
  clang::serialization::EXPR_PREDEFINED , clang::serialization::EXPR_DECL_REF , clang::serialization::EXPR_INTEGER_LITERAL , clang::serialization::EXPR_FLOATING_LITERAL ,
  clang::serialization::EXPR_IMAGINARY_LITERAL , clang::serialization::EXPR_STRING_LITERAL , clang::serialization::EXPR_CHARACTER_LITERAL , clang::serialization::EXPR_PAREN ,
  clang::serialization::EXPR_PAREN_LIST , clang::serialization::EXPR_UNARY_OPERATOR , clang::serialization::EXPR_OFFSETOF , clang::serialization::EXPR_SIZEOF_ALIGN_OF ,
  clang::serialization::EXPR_ARRAY_SUBSCRIPT , clang::serialization::EXPR_MATRIX_SUBSCRIPT , clang::serialization::EXPR_CALL , clang::serialization::EXPR_MEMBER ,
  clang::serialization::EXPR_BINARY_OPERATOR , clang::serialization::EXPR_COMPOUND_ASSIGN_OPERATOR , clang::serialization::EXPR_CONDITIONAL_OPERATOR , clang::serialization::EXPR_IMPLICIT_CAST ,
  clang::serialization::EXPR_CSTYLE_CAST , clang::serialization::EXPR_COMPOUND_LITERAL , clang::serialization::EXPR_EXT_VECTOR_ELEMENT , clang::serialization::EXPR_INIT_LIST ,
  clang::serialization::EXPR_DESIGNATED_INIT , clang::serialization::EXPR_DESIGNATED_INIT_UPDATE , clang::serialization::EXPR_NO_INIT , clang::serialization::EXPR_ARRAY_INIT_LOOP ,
  clang::serialization::EXPR_ARRAY_INIT_INDEX , clang::serialization::EXPR_IMPLICIT_VALUE_INIT , clang::serialization::EXPR_VA_ARG , clang::serialization::EXPR_ADDR_LABEL ,
  clang::serialization::EXPR_STMT , clang::serialization::EXPR_CHOOSE , clang::serialization::EXPR_GNU_NULL , clang::serialization::EXPR_SOURCE_LOC ,
  clang::serialization::EXPR_BUILTIN_PP_EMBED , clang::serialization::EXPR_SHUFFLE_VECTOR , clang::serialization::EXPR_CONVERT_VECTOR , clang::serialization::EXPR_BLOCK ,
  clang::serialization::EXPR_GENERIC_SELECTION , clang::serialization::EXPR_PSEUDO_OBJECT , clang::serialization::EXPR_ATOMIC , clang::serialization::EXPR_RECOVERY ,
  clang::serialization::EXPR_OBJC_STRING_LITERAL , clang::serialization::EXPR_OBJC_BOXED_EXPRESSION , clang::serialization::EXPR_OBJC_ARRAY_LITERAL , clang::serialization::EXPR_OBJC_DICTIONARY_LITERAL ,
  clang::serialization::EXPR_OBJC_ENCODE , clang::serialization::EXPR_OBJC_SELECTOR_EXPR , clang::serialization::EXPR_OBJC_PROTOCOL_EXPR , clang::serialization::EXPR_OBJC_IVAR_REF_EXPR ,
  clang::serialization::EXPR_OBJC_PROPERTY_REF_EXPR , clang::serialization::EXPR_OBJC_SUBSCRIPT_REF_EXPR , clang::serialization::EXPR_OBJC_KVC_REF_EXPR , clang::serialization::EXPR_OBJC_MESSAGE_EXPR ,
  clang::serialization::EXPR_OBJC_ISA , clang::serialization::EXPR_OBJC_INDIRECT_COPY_RESTORE , clang::serialization::STMT_OBJC_FOR_COLLECTION , clang::serialization::STMT_OBJC_CATCH ,
  clang::serialization::STMT_OBJC_FINALLY , clang::serialization::STMT_OBJC_AT_TRY , clang::serialization::STMT_OBJC_AT_SYNCHRONIZED , clang::serialization::STMT_OBJC_AT_THROW ,
  clang::serialization::STMT_OBJC_AUTORELEASE_POOL , clang::serialization::EXPR_OBJC_BOOL_LITERAL , clang::serialization::EXPR_OBJC_AVAILABILITY_CHECK , clang::serialization::STMT_CXX_CATCH ,
  clang::serialization::STMT_CXX_TRY , clang::serialization::STMT_CXX_FOR_RANGE , clang::serialization::EXPR_CXX_OPERATOR_CALL , clang::serialization::EXPR_CXX_MEMBER_CALL ,
  clang::serialization::EXPR_CXX_REWRITTEN_BINARY_OPERATOR , clang::serialization::EXPR_CXX_CONSTRUCT , clang::serialization::EXPR_CXX_INHERITED_CTOR_INIT , clang::serialization::EXPR_CXX_TEMPORARY_OBJECT ,
  clang::serialization::EXPR_CXX_STATIC_CAST , clang::serialization::EXPR_CXX_DYNAMIC_CAST , clang::serialization::EXPR_CXX_REINTERPRET_CAST , clang::serialization::EXPR_CXX_CONST_CAST ,
  clang::serialization::EXPR_CXX_ADDRSPACE_CAST , clang::serialization::EXPR_CXX_FUNCTIONAL_CAST , clang::serialization::EXPR_BUILTIN_BIT_CAST , clang::serialization::EXPR_USER_DEFINED_LITERAL ,
  clang::serialization::EXPR_CXX_STD_INITIALIZER_LIST , clang::serialization::EXPR_CXX_BOOL_LITERAL , clang::serialization::EXPR_CXX_PAREN_LIST_INIT , clang::serialization::EXPR_CXX_NULL_PTR_LITERAL ,
  clang::serialization::EXPR_CXX_TYPEID_EXPR , clang::serialization::EXPR_CXX_TYPEID_TYPE , clang::serialization::EXPR_CXX_THIS , clang::serialization::EXPR_CXX_THROW ,
  clang::serialization::EXPR_CXX_DEFAULT_ARG , clang::serialization::EXPR_CXX_DEFAULT_INIT , clang::serialization::EXPR_CXX_BIND_TEMPORARY , clang::serialization::EXPR_CXX_SCALAR_VALUE_INIT ,
  clang::serialization::EXPR_CXX_NEW , clang::serialization::EXPR_CXX_DELETE , clang::serialization::EXPR_CXX_PSEUDO_DESTRUCTOR , clang::serialization::EXPR_EXPR_WITH_CLEANUPS ,
  clang::serialization::EXPR_CXX_DEPENDENT_SCOPE_MEMBER , clang::serialization::EXPR_CXX_DEPENDENT_SCOPE_DECL_REF , clang::serialization::EXPR_CXX_UNRESOLVED_CONSTRUCT , clang::serialization::EXPR_CXX_UNRESOLVED_MEMBER ,
  clang::serialization::EXPR_CXX_UNRESOLVED_LOOKUP , clang::serialization::EXPR_CXX_EXPRESSION_TRAIT , clang::serialization::EXPR_CXX_NOEXCEPT , clang::serialization::EXPR_OPAQUE_VALUE ,
  clang::serialization::EXPR_BINARY_CONDITIONAL_OPERATOR , clang::serialization::EXPR_TYPE_TRAIT , clang::serialization::EXPR_ARRAY_TYPE_TRAIT , clang::serialization::EXPR_PACK_EXPANSION ,
  clang::serialization::EXPR_PACK_INDEXING , clang::serialization::EXPR_SIZEOF_PACK , clang::serialization::EXPR_SUBST_NON_TYPE_TEMPLATE_PARM , clang::serialization::EXPR_SUBST_NON_TYPE_TEMPLATE_PARM_PACK ,
  clang::serialization::EXPR_FUNCTION_PARM_PACK , clang::serialization::EXPR_MATERIALIZE_TEMPORARY , clang::serialization::EXPR_CXX_FOLD , clang::serialization::EXPR_CONCEPT_SPECIALIZATION ,
  clang::serialization::EXPR_REQUIRES , clang::serialization::EXPR_CUDA_KERNEL_CALL , clang::serialization::EXPR_ASTYPE , clang::serialization::EXPR_CXX_PROPERTY_REF_EXPR ,
  clang::serialization::EXPR_CXX_PROPERTY_SUBSCRIPT_EXPR , clang::serialization::EXPR_CXX_UUIDOF_EXPR , clang::serialization::EXPR_CXX_UUIDOF_TYPE , clang::serialization::STMT_SEH_LEAVE ,
  clang::serialization::STMT_SEH_EXCEPT , clang::serialization::STMT_SEH_FINALLY , clang::serialization::STMT_SEH_TRY , clang::serialization::STMT_OMP_META_DIRECTIVE ,
  clang::serialization::STMT_OMP_CANONICAL_LOOP , clang::serialization::STMT_OMP_PARALLEL_DIRECTIVE , clang::serialization::STMT_OMP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_TILE_DIRECTIVE ,
  clang::serialization::STMT_OMP_UNROLL_DIRECTIVE , clang::serialization::STMT_OMP_FOR_DIRECTIVE , clang::serialization::STMT_OMP_FOR_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_SECTIONS_DIRECTIVE ,
  clang::serialization::STMT_OMP_SECTION_DIRECTIVE , clang::serialization::STMT_OMP_SINGLE_DIRECTIVE , clang::serialization::STMT_OMP_MASTER_DIRECTIVE , clang::serialization::STMT_OMP_CRITICAL_DIRECTIVE ,
  clang::serialization::STMT_OMP_PARALLEL_FOR_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_FOR_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASTER_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASKED_DIRECTIVE ,
  clang::serialization::STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE , clang::serialization::STMT_OMP_TASK_DIRECTIVE , clang::serialization::STMT_OMP_TASKYIELD_DIRECTIVE , clang::serialization::STMT_OMP_ERROR_DIRECTIVE ,
  clang::serialization::STMT_OMP_BARRIER_DIRECTIVE , clang::serialization::STMT_OMP_TASKWAIT_DIRECTIVE , clang::serialization::STMT_OMP_FLUSH_DIRECTIVE , clang::serialization::STMT_OMP_DEPOBJ_DIRECTIVE ,
  clang::serialization::STMT_OMP_SCAN_DIRECTIVE , clang::serialization::STMT_OMP_ORDERED_DIRECTIVE , clang::serialization::STMT_OMP_ATOMIC_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_DIRECTIVE ,
  clang::serialization::STMT_OMP_TARGET_DATA_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_ENTER_DATA_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_EXIT_DATA_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_PARALLEL_DIRECTIVE ,
  clang::serialization::STMT_OMP_TARGET_PARALLEL_FOR_DIRECTIVE , clang::serialization::STMT_OMP_TEAMS_DIRECTIVE , clang::serialization::STMT_OMP_TASKGROUP_DIRECTIVE , clang::serialization::STMT_OMP_CANCELLATION_POINT_DIRECTIVE ,
  clang::serialization::STMT_OMP_CANCEL_DIRECTIVE , clang::serialization::STMT_OMP_TASKLOOP_DIRECTIVE , clang::serialization::STMT_OMP_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_MASTER_TASKLOOP_DIRECTIVE ,
  clang::serialization::STMT_OMP_MASTER_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASTER_TASKLOOP_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASTER_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_MASKED_TASKLOOP_DIRECTIVE ,
  clang::serialization::STMT_OMP_MASKED_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASKED_TASKLOOP_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASKED_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_DISTRIBUTE_DIRECTIVE ,
  clang::serialization::STMT_OMP_TARGET_UPDATE_DIRECTIVE , clang::serialization::STMT_OMP_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE , clang::serialization::STMT_OMP_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_DISTRIBUTE_SIMD_DIRECTIVE ,
  clang::serialization::STMT_OMP_TARGET_PARALLEL_FOR_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_DIRECTIVE , clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE ,
  clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_TEAMS_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_DIRECTIVE ,
  clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_SCOPE_DIRECTIVE ,
  clang::serialization::STMT_OMP_INTEROP_DIRECTIVE , clang::serialization::STMT_OMP_DISPATCH_DIRECTIVE , clang::serialization::STMT_OMP_MASKED_DIRECTIVE , clang::serialization::STMT_OMP_GENERIC_LOOP_DIRECTIVE ,
  clang::serialization::STMT_OMP_TEAMS_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_TEAMS_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_PARALLEL_GENERIC_LOOP_DIRECTIVE ,
  clang::serialization::EXPR_ARRAY_SECTION , clang::serialization::EXPR_OMP_ARRAY_SHAPING , clang::serialization::EXPR_OMP_ITERATOR , clang::serialization::EXPR_OBJC_BRIDGED_CAST ,
  clang::serialization::STMT_MS_DEPENDENT_EXISTS , clang::serialization::EXPR_LAMBDA , clang::serialization::STMT_COROUTINE_BODY , clang::serialization::STMT_CORETURN ,
  clang::serialization::EXPR_COAWAIT , clang::serialization::EXPR_COYIELD , clang::serialization::EXPR_DEPENDENT_COAWAIT , clang::serialization::EXPR_FIXEDPOINT_LITERAL ,
  clang::serialization::EXPR_SYCL_UNIQUE_STABLE_NAME , clang::serialization::STMT_OPENACC_COMPUTE_CONSTRUCT , clang::serialization::STMT_OPENACC_LOOP_CONSTRUCT
}
 Record codes for each kind of statement or expression. More...
 
enum  clang::serialization::DesignatorTypes { clang::serialization::DESIG_FIELD_NAME = 0 , clang::serialization::DESIG_FIELD_DECL = 1 , clang::serialization::DESIG_ARRAY = 2 , clang::serialization::DESIG_ARRAY_RANGE = 3 }
 The kinds of designators that can occur in a DesignatedInitExpr. More...
 
enum  clang::serialization::CtorInitializerType { clang::serialization::CTOR_INITIALIZER_BASE , clang::serialization::CTOR_INITIALIZER_DELEGATING , clang::serialization::CTOR_INITIALIZER_MEMBER , clang::serialization::CTOR_INITIALIZER_INDIRECT_MEMBER }
 The different kinds of data that can occur in a CtorInitializer. More...
 
enum  clang::serialization::CleanupObjectKind { clang::serialization::COK_Block , clang::serialization::COK_CompoundLiteral }
 Kinds of cleanup objects owned by ExprWithCleanups. More...
 

Variables

const unsigned clang::serialization::VERSION_MAJOR = 31
 AST file major version number supported by this version of Clang.
 
const unsigned clang::serialization::VERSION_MINOR = 1
 AST file minor version number supported by this version of Clang.
 
const unsigned int clang::serialization::NUM_PREDEF_IDENT_IDS = 1
 The number of predefined identifier IDs.
 
const unsigned int clang::serialization::NUM_PREDEF_MACRO_IDS = 1
 The number of predefined macro IDs.
 
const unsigned int clang::serialization::NUM_PREDEF_SELECTOR_IDS = 1
 The number of predefined selector IDs.
 
const unsigned int clang::serialization::NUM_PREDEF_SUBMODULE_IDS = 1
 The number of predefined submodule IDs.
 
const unsigned int clang::serialization::NUM_PREDEF_PP_ENTITY_IDS = 1
 The number of predefined preprocessed entity IDs.
 
const unsigned clang::serialization::NUM_PREDEF_TYPE_IDS = 504
 The number of predefined type IDs that are reserved for the PREDEF_TYPE_* constants.
 
const unsigned clang::serialization::NumSpecialTypeIDs = 8
 The number of special type IDs.
 
const unsigned int clang::serialization::DECL_UPDATES = 49
 Record of updates for a declaration that was modified after being deserialized.
 
const unsigned int clang::serialization::LOCAL_REDECLARATIONS = 50
 Record code for a list of local redeclarations of a declaration.
 

Macro Definition Documentation

◆ AMDGPU_TYPE

#define AMDGPU_TYPE (   Name,
  Id,
  SingletonId 
)    PREDEF_TYPE_##Id##_ID,

Definition at line 1122 of file ASTBitCodes.h.

◆ EXT_OPAQUE_TYPE

#define EXT_OPAQUE_TYPE (   ExtType,
  Id,
  Ext 
)    PREDEF_TYPE_##Id##_ID,

OpenCL extension types with auto numeration.

Definition at line 1107 of file ASTBitCodes.h.

◆ IMAGE_TYPE

#define IMAGE_TYPE (   ImgType,
  Id,
  SingletonId,
  Access,
  Suffix 
)     PREDEF_TYPE_##Id##_ID,

OpenCL image types with auto numeration.

Definition at line 1103 of file ASTBitCodes.h.

◆ PPC_VECTOR_TYPE

#define PPC_VECTOR_TYPE (   Name,
  Id,
  Size 
)    PREDEF_TYPE_##Id##_ID,

Definition at line 1113 of file ASTBitCodes.h.

◆ RVV_TYPE

#define RVV_TYPE (   Name,
  Id,
  SingletonId 
)    PREDEF_TYPE_##Id##_ID,

Definition at line 1116 of file ASTBitCodes.h.

◆ SVE_TYPE

#define SVE_TYPE (   Name,
  Id,
  SingletonId 
)    PREDEF_TYPE_##Id##_ID,

Definition at line 1110 of file ASTBitCodes.h.

◆ TYPE_BIT_CODE

#define TYPE_BIT_CODE (   CLASS_ID,
  CODE_ID,
  CODE_VALUE 
)     TYPE_##CODE_ID = CODE_VALUE,

Definition at line 1151 of file ASTBitCodes.h.

◆ WASM_TYPE

#define WASM_TYPE (   Name,
  Id,
  SingletonId 
)    PREDEF_TYPE_##Id##_ID,

Definition at line 1119 of file ASTBitCodes.h.