1//===--- TypeNodeBitCodes.def - Type to bitcode correspondance --*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file provides an x-macro link between AST Type IDs and
10// their stable serialized bit-code record type IDs.
11//
12//===----------------------------------------------------------------------===//
13
14TYPE_BIT_CODE(Complex, COMPLEX, 3)
15TYPE_BIT_CODE(Pointer, POINTER, 4)
16TYPE_BIT_CODE(BlockPointer, BLOCK_POINTER, 5)
17TYPE_BIT_CODE(LValueReference, LVALUE_REFERENCE, 6)
18TYPE_BIT_CODE(RValueReference, RVALUE_REFERENCE, 7)
19TYPE_BIT_CODE(MemberPointer, MEMBER_POINTER, 8)
20TYPE_BIT_CODE(ConstantArray, CONSTANT_ARRAY, 9)
21TYPE_BIT_CODE(IncompleteArray, INCOMPLETE_ARRAY, 10)
22TYPE_BIT_CODE(VariableArray, VARIABLE_ARRAY, 11)
23TYPE_BIT_CODE(Vector, VECTOR, 12)
24TYPE_BIT_CODE(ExtVector, EXT_VECTOR, 13)
25TYPE_BIT_CODE(FunctionNoProto, FUNCTION_NO_PROTO, 14)
26TYPE_BIT_CODE(FunctionProto, FUNCTION_PROTO, 15)
27TYPE_BIT_CODE(Typedef, TYPEDEF, 16)
28TYPE_BIT_CODE(TypeOfExpr, TYPEOF_EXPR, 17)
29TYPE_BIT_CODE(TypeOf, TYPEOF, 18)
30TYPE_BIT_CODE(Record, RECORD, 19)
31TYPE_BIT_CODE(Enum, ENUM, 20)
32TYPE_BIT_CODE(ObjCInterface, OBJC_INTERFACE, 21)
33TYPE_BIT_CODE(ObjCObjectPointer, OBJC_OBJECT_POINTER, 22)
34TYPE_BIT_CODE(Decltype, DECLTYPE, 23)
35TYPE_BIT_CODE(Elaborated, ELABORATED, 24)
36TYPE_BIT_CODE(SubstTemplateTypeParm, SUBST_TEMPLATE_TYPE_PARM, 25)
37TYPE_BIT_CODE(UnresolvedUsing, UNRESOLVED_USING, 26)
38TYPE_BIT_CODE(InjectedClassName, INJECTED_CLASS_NAME, 27)
39TYPE_BIT_CODE(ObjCObject, OBJC_OBJECT, 28)
40TYPE_BIT_CODE(TemplateTypeParm, TEMPLATE_TYPE_PARM, 29)
41TYPE_BIT_CODE(TemplateSpecialization, TEMPLATE_SPECIALIZATION, 30)
42TYPE_BIT_CODE(DependentName, DEPENDENT_NAME, 31)
43TYPE_BIT_CODE(DependentTemplateSpecialization, DEPENDENT_TEMPLATE_SPECIALIZATION, 32)
44TYPE_BIT_CODE(DependentSizedArray, DEPENDENT_SIZED_ARRAY, 33)
45TYPE_BIT_CODE(Paren, PAREN, 34)
46TYPE_BIT_CODE(PackExpansion, PACK_EXPANSION, 35)
47TYPE_BIT_CODE(Attributed, ATTRIBUTED, 36)
48TYPE_BIT_CODE(SubstTemplateTypeParmPack, SUBST_TEMPLATE_TYPE_PARM_PACK, 37)
49TYPE_BIT_CODE(Auto, AUTO, 38)
50TYPE_BIT_CODE(UnaryTransform, UNARY_TRANSFORM, 39)
51TYPE_BIT_CODE(Atomic, ATOMIC, 40)
52TYPE_BIT_CODE(Decayed, DECAYED, 41)
53TYPE_BIT_CODE(Adjusted, ADJUSTED, 42)
54TYPE_BIT_CODE(Pipe, PIPE, 43)
55TYPE_BIT_CODE(ObjCTypeParam, OBJC_TYPE_PARAM, 44)
56TYPE_BIT_CODE(DeducedTemplateSpecialization, DEDUCED_TEMPLATE_SPECIALIZATION, 45)
57TYPE_BIT_CODE(DependentSizedExtVector, DEPENDENT_SIZED_EXT_VECTOR, 46)
58TYPE_BIT_CODE(DependentAddressSpace, DEPENDENT_ADDRESS_SPACE, 47)
59TYPE_BIT_CODE(DependentVector, DEPENDENT_SIZED_VECTOR, 48)
60TYPE_BIT_CODE(MacroQualified, MACRO_QUALIFIED, 49)
61TYPE_BIT_CODE(BitInt, BIT_INT, 50)
62TYPE_BIT_CODE(DependentBitInt, DEPENDENT_BIT_INT, 51)
63TYPE_BIT_CODE(ConstantMatrix, CONSTANT_MATRIX, 52)
64TYPE_BIT_CODE(DependentSizedMatrix, DEPENDENT_SIZE_MATRIX, 53)
65TYPE_BIT_CODE(Using, USING, 54)
66TYPE_BIT_CODE(BTFTagAttributed, BTFTAG_ATTRIBUTED, 55)
67TYPE_BIT_CODE(PackIndexing, PACK_INDEXING, 56)
68TYPE_BIT_CODE(CountAttributed, COUNT_ATTRIBUTED, 57)
69TYPE_BIT_CODE(ArrayParameter, ARRAY_PARAMETER, 58)
70
71#undef TYPE_BIT_CODE
72

source code of clang/include/clang/Serialization/TypeBitCodes.def