/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def
Line | Count | Source (jump to first uncovered line) |
1 | 219 | |
2 | 219 | //===-- CVLeafTypes.def - All CodeView leaf types ---------------*- C++ -*-===// |
3 | 219 | // |
4 | 219 | // The LLVM Compiler Infrastructure |
5 | 219 | // |
6 | 219 | // This file is distributed under the University of Illinois Open Source |
7 | 219 | // License. See LICENSE.TXT for details. |
8 | 219 | // |
9 | 219 | //===----------------------------------------------------------------------===// |
10 | 219 | // |
11 | 219 | // See LEAF_ENUM_e in cvinfo.h. This should match the constants there. |
12 | 219 | // |
13 | 219 | //===----------------------------------------------------------------------===// |
14 | 219 | |
15 | 219 | // If the type is known, then we have a record describing it in TypeRecord.h. |
16 | 219 | |
17 | 219 | #ifndef CV_TYPE |
18 | 219 | #define CV_TYPE(lf_ename, value) |
19 | 219 | #endif |
20 | 219 | |
21 | 219 | // If the type is known, then we have a record describing it in TypeRecord.h. |
22 | | #ifndef TYPE_RECORD |
23 | | #define TYPE_RECORD(lf_ename, value, name) CV_TYPE(lf_ename, value) |
24 | | #endif |
25 | | |
26 | | #ifndef TYPE_RECORD_ALIAS |
27 | | #define TYPE_RECORD_ALIAS(lf_ename, value, name, alias_name) \ |
28 | 281 | TYPE_RECORD(lf_ename, value, name) |
29 | | #endif |
30 | | |
31 | | #ifndef MEMBER_RECORD |
32 | 6.54k | #define MEMBER_RECORD(lf_ename, value, name) TYPE_RECORD(lf_ename, value, name) |
33 | | #endif |
34 | | |
35 | | #ifndef MEMBER_RECORD_ALIAS |
36 | | #define MEMBER_RECORD_ALIAS(lf_ename, value, name, alias_name) \ |
37 | 3 | MEMBER_RECORD(lf_ename, value, name) |
38 | | #endif |
39 | | |
40 | 712 | TYPE_RECORD712 (LF_POINTER, 0x1002, Pointer)
|
41 | 158 | TYPE_RECORD158 (LF_MODIFIER, 0x1001, Modifier)
|
42 | 448 | TYPE_RECORD448 (LF_PROCEDURE, 0x1008, Procedure)
|
43 | 629 | TYPE_RECORD629 (LF_MFUNCTION, 0x1009, MemberFunction)
|
44 | 2 | TYPE_RECORD2 (LF_LABEL, 0x000e, Label)
|
45 | 703 | TYPE_RECORD703 (LF_ARGLIST, 0x1201, ArgList)
|
46 | 491 | |
47 | 665 | TYPE_RECORD665 (LF_FIELDLIST, 0x1203, FieldList)
|
48 | 462 | |
49 | 98 | TYPE_RECORD98 (LF_ARRAY, 0x1503, Array)
|
50 | 47 | TYPE_RECORD47 (LF_CLASS, 0x1504, Class)
|
51 | 877 | TYPE_RECORD_ALIAS877 (LF_STRUCTURE, 0x1505, Struct, Class)
|
52 | 0 | TYPE_RECORD_ALIAS0 (LF_INTERFACE, 0x1519, Interface, Class)
|
53 | 29 | TYPE_RECORD29 (LF_UNION, 0x1506, Union)
|
54 | 224 | TYPE_RECORD224 (LF_ENUM, 0x1507, Enum)
|
55 | 0 | TYPE_RECORD0 (LF_TYPESERVER2, 0x1515, TypeServer2)
|
56 | 18 | TYPE_RECORD18 (LF_VFTABLE, 0x151d, VFTable)
|
57 | 47 | TYPE_RECORD47 (LF_VTSHAPE, 0x000a, VFTableShape)
|
58 | 32 | |
59 | 19 | TYPE_RECORD19 (LF_BITFIELD, 0x1205, BitField)
|
60 | 14 | |
61 | 14 | // Member type records. These are generally not length prefixed, and appear |
62 | 14 | // inside of a field list record. |
63 | 46 | MEMBER_RECORD46 (LF_BCLASS, 0x1400, BaseClass)
|
64 | 0 | MEMBER_RECORD_ALIAS0 (LF_BINTERFACE, 0x151a, BaseInterface, BaseClass)
|
65 | 0 |
|
66 | 19 | MEMBER_RECORD19 (LF_VBCLASS, 0x1401, VirtualBaseClass)
|
67 | 9 | MEMBER_RECORD_ALIAS9 (LF_IVBCLASS, 0x1402, IndirectVirtualBaseClass,
|
68 | 6 | VirtualBaseClass) |
69 | 6 | |
70 | 25 | MEMBER_RECORD25 (LF_VFUNCTAB, 0x1409, VFPtr)
|
71 | 13 | MEMBER_RECORD13 (LF_STMEMBER, 0x150e, StaticDataMember)
|
72 | 161 | MEMBER_RECORD161 (LF_METHOD, 0x150f, OverloadedMethod)
|
73 | 784 | MEMBER_RECORD784 (LF_MEMBER, 0x150d, DataMember)
|
74 | 191 | MEMBER_RECORD191 (LF_NESTTYPE, 0x1510, NestedType)
|
75 | 177 | MEMBER_RECORD177 (LF_ONEMETHOD, 0x1511, OneMethod)
|
76 | 12.5k | MEMBER_RECORD12.5k (LF_ENUMERATE, 0x1502, Enumerator)
|
77 | 8 | MEMBER_RECORD8 (LF_INDEX, 0x1404, ListContinuation)
|
78 | 4 | |
79 | 4 | // ID leaf records. Subsequent leaf types may be referenced from .debug$S. |
80 | 537 | TYPE_RECORD537 (LF_FUNC_ID, 0x1601, FuncId)
|
81 | 111 | TYPE_RECORD111 (LF_MFUNC_ID, 0x1602, MemberFuncId)
|
82 | 61 | TYPE_RECORD61 (LF_BUILDINFO, 0x1603, BuildInfo)
|
83 | 58 | TYPE_RECORD58 (LF_SUBSTR_LIST, 0x1604, StringList)
|
84 | 537 | TYPE_RECORD537 (LF_STRING_ID, 0x1605, StringId)
|
85 | 388 | TYPE_RECORD388 (LF_UDT_SRC_LINE, 0x1606, UdtSourceLine)
|
86 | 8 | TYPE_RECORD8 (LF_UDT_MOD_SRC_LINE, 0x1607, UdtModSourceLine)
|
87 | 8 | |
88 | 8 | |
89 | 174 | TYPE_RECORD(LF_METHODLIST, 0x1206, MethodOverloadList) |
90 | 8.65k | |
91 | 8.65k | |
92 | 8.65k | // 16 bit type records. |
93 | 8.65k | CV_TYPE(LF_MODIFIER_16t, 0x0001) |
94 | 8.65k | CV_TYPE(LF_POINTER_16t, 0x0002) |
95 | 8.65k | CV_TYPE(LF_ARRAY_16t, 0x0003) |
96 | 8.65k | CV_TYPE(LF_CLASS_16t, 0x0004) |
97 | 8.65k | CV_TYPE(LF_STRUCTURE_16t, 0x0005) |
98 | 8.65k | CV_TYPE(LF_UNION_16t, 0x0006) |
99 | 8.65k | CV_TYPE(LF_ENUM_16t, 0x0007) |
100 | 8.65k | CV_TYPE(LF_PROCEDURE_16t, 0x0008) |
101 | 8.65k | CV_TYPE(LF_MFUNCTION_16t, 0x0009) |
102 | 8.65k | CV_TYPE(LF_COBOL0_16t, 0x000b) |
103 | 8.65k | CV_TYPE(LF_COBOL1, 0x000c) |
104 | 8.65k | CV_TYPE(LF_BARRAY_16t, 0x000d) |
105 | 8.65k | CV_TYPE(LF_NULLLEAF, 0x000f) // LF_NULL |
106 | 8.65k | CV_TYPE(LF_NOTTRAN, 0x0010) |
107 | 8.65k | CV_TYPE(LF_DIMARRAY_16t, 0x0011) |
108 | 8.65k | CV_TYPE(LF_VFTPATH_16t, 0x0012) |
109 | 8.65k | CV_TYPE(LF_PRECOMP_16t, 0x0013) |
110 | 8.65k | CV_TYPE(LF_ENDPRECOMP, 0x0014) |
111 | 8.65k | CV_TYPE(LF_OEM_16t, 0x0015) |
112 | 8.65k | CV_TYPE(LF_TYPESERVER_ST, 0x0016) |
113 | 8.65k | |
114 | 8.65k | CV_TYPE(LF_SKIP_16t, 0x0200) |
115 | 8.65k | CV_TYPE(LF_ARGLIST_16t, 0x0201) |
116 | 8.65k | CV_TYPE(LF_DEFARG_16t, 0x0202) |
117 | 8.65k | CV_TYPE(LF_LIST, 0x0203) |
118 | 8.65k | CV_TYPE(LF_FIELDLIST_16t, 0x0204) |
119 | 8.65k | CV_TYPE(LF_DERIVED_16t, 0x0205) |
120 | 8.65k | CV_TYPE(LF_BITFIELD_16t, 0x0206) |
121 | 8.65k | CV_TYPE(LF_METHODLIST_16t, 0x0207) |
122 | 8.65k | CV_TYPE(LF_DIMCONU_16t, 0x0208) |
123 | 8.65k | CV_TYPE(LF_DIMCONLU_16t, 0x0209) |
124 | 8.65k | CV_TYPE(LF_DIMVARU_16t, 0x020a) |
125 | 8.65k | CV_TYPE(LF_DIMVARLU_16t, 0x020b) |
126 | 8.65k | CV_TYPE(LF_REFSYM, 0x020c) |
127 | 8.65k | |
128 | 8.65k | // 16 bit member types. Generally not length prefixed. |
129 | 8.65k | CV_TYPE(LF_BCLASS_16t, 0x0400) |
130 | 8.65k | CV_TYPE(LF_VBCLASS_16t, 0x0401) |
131 | 8.65k | CV_TYPE(LF_IVBCLASS_16t, 0x0402) |
132 | 8.65k | CV_TYPE(LF_ENUMERATE_ST, 0x0403) |
133 | 8.65k | CV_TYPE(LF_FRIENDFCN_16t, 0x0404) |
134 | 8.65k | CV_TYPE(LF_INDEX_16t, 0x0405) |
135 | 8.65k | CV_TYPE(LF_MEMBER_16t, 0x0406) |
136 | 8.65k | CV_TYPE(LF_STMEMBER_16t, 0x0407) |
137 | 8.65k | CV_TYPE(LF_METHOD_16t, 0x0408) |
138 | 8.65k | CV_TYPE(LF_NESTTYPE_16t, 0x0409) |
139 | 8.65k | CV_TYPE(LF_VFUNCTAB_16t, 0x040a) |
140 | 8.65k | CV_TYPE(LF_FRIENDCLS_16t, 0x040b) |
141 | 8.65k | CV_TYPE(LF_ONEMETHOD_16t, 0x040c) |
142 | 8.65k | CV_TYPE(LF_VFUNCOFF_16t, 0x040d) |
143 | 8.65k | |
144 | 8.65k | CV_TYPE(LF_TI16_MAX, 0x1000) |
145 | 8.65k | |
146 | 8.65k | CV_TYPE(LF_ARRAY_ST, 0x1003) |
147 | 8.65k | CV_TYPE(LF_CLASS_ST, 0x1004) |
148 | 8.65k | CV_TYPE(LF_STRUCTURE_ST, 0x1005) |
149 | 8.65k | CV_TYPE(LF_UNION_ST, 0x1006) |
150 | 8.65k | CV_TYPE(LF_ENUM_ST, 0x1007) |
151 | 8.65k | CV_TYPE(LF_COBOL0, 0x100a) |
152 | 8.65k | CV_TYPE(LF_BARRAY, 0x100b) |
153 | 8.65k | CV_TYPE(LF_DIMARRAY_ST, 0x100c) |
154 | 8.65k | CV_TYPE(LF_VFTPATH, 0x100d) |
155 | 8.65k | CV_TYPE(LF_PRECOMP_ST, 0x100e) |
156 | 8.65k | CV_TYPE(LF_OEM, 0x100f) |
157 | 8.65k | CV_TYPE(LF_ALIAS_ST, 0x1010) |
158 | 8.65k | CV_TYPE(LF_OEM2, 0x1011) |
159 | 8.65k | |
160 | 8.65k | CV_TYPE(LF_SKIP, 0x1200) |
161 | 8.65k | CV_TYPE(LF_DEFARG_ST, 0x1202) |
162 | 8.65k | CV_TYPE(LF_DERIVED, 0x1204) |
163 | 8.65k | CV_TYPE(LF_DIMCONU, 0x1207) |
164 | 8.65k | CV_TYPE(LF_DIMCONLU, 0x1208) |
165 | 8.65k | CV_TYPE(LF_DIMVARU, 0x1209) |
166 | 8.65k | CV_TYPE(LF_DIMVARLU, 0x120a) |
167 | 8.65k | |
168 | 8.65k | // Member type records. These are generally not length prefixed, and appear |
169 | 8.65k | // inside of a field list record. |
170 | 8.65k | CV_TYPE(LF_FRIENDFCN_ST, 0x1403) |
171 | 8.65k | CV_TYPE(LF_MEMBER_ST, 0x1405) |
172 | 8.65k | CV_TYPE(LF_STMEMBER_ST, 0x1406) |
173 | 8.65k | CV_TYPE(LF_METHOD_ST, 0x1407) |
174 | 8.65k | CV_TYPE(LF_NESTTYPE_ST, 0x1408) |
175 | 8.65k | CV_TYPE(LF_FRIENDCLS, 0x140a) |
176 | 8.65k | CV_TYPE(LF_ONEMETHOD_ST, 0x140b) |
177 | 8.65k | CV_TYPE(LF_VFUNCOFF, 0x140c) |
178 | 8.65k | CV_TYPE(LF_NESTTYPEEX_ST, 0x140d) |
179 | 8.65k | CV_TYPE(LF_MEMBERMODIFY_ST, 0x140e) |
180 | 8.65k | CV_TYPE(LF_MANAGED_ST, 0x140f) |
181 | 8.65k | |
182 | 8.65k | CV_TYPE(LF_ST_MAX, 0x1500) |
183 | 8.65k | CV_TYPE(LF_TYPESERVER, 0x1501) |
184 | 8.65k | CV_TYPE(LF_DIMARRAY, 0x1508) |
185 | 8.65k | CV_TYPE(LF_PRECOMP, 0x1509) |
186 | 8.65k | CV_TYPE(LF_ALIAS, 0x150a) |
187 | 8.65k | CV_TYPE(LF_DEFARG, 0x150b) |
188 | 8.65k | CV_TYPE(LF_FRIENDFCN, 0x150c) |
189 | 8.65k | CV_TYPE(LF_NESTTYPEEX, 0x1512) |
190 | 8.65k | CV_TYPE(LF_MEMBERMODIFY, 0x1513) |
191 | 8.65k | CV_TYPE(LF_MANAGED, 0x1514) |
192 | 8.65k | CV_TYPE(LF_STRIDED_ARRAY, 0x1516) |
193 | 8.65k | CV_TYPE(LF_HLSL, 0x1517) |
194 | 8.65k | CV_TYPE(LF_MODIFIER_EX, 0x1518) |
195 | 8.65k | CV_TYPE(LF_VECTOR, 0x151b) |
196 | 8.65k | CV_TYPE(LF_MATRIX, 0x151c) |
197 | 8.65k | |
198 | 8.65k | // ID leaf records. Subsequent leaf types may be referenced from .debug$S. |
199 | 8.65k | |
200 | 8.65k | // Numeric leaf types. These are generally contained in other records, and not |
201 | 8.65k | // encountered in the main type stream. |
202 | 8.65k | |
203 | 8.65k | CV_TYPE(LF_NUMERIC, 0x8000) |
204 | 8.65k | CV_TYPE(LF_CHAR, 0x8000) |
205 | 8.65k | CV_TYPE(LF_SHORT, 0x8001) |
206 | 8.65k | CV_TYPE(LF_USHORT, 0x8002) |
207 | 8.65k | CV_TYPE(LF_LONG, 0x8003) |
208 | 8.65k | CV_TYPE(LF_ULONG, 0x8004) |
209 | 8.65k | CV_TYPE(LF_REAL32, 0x8005) |
210 | 8.65k | CV_TYPE(LF_REAL64, 0x8006) |
211 | 8.65k | CV_TYPE(LF_REAL80, 0x8007) |
212 | 8.65k | CV_TYPE(LF_REAL128, 0x8008) |
213 | 8.65k | CV_TYPE(LF_QUADWORD, 0x8009) |
214 | 8.65k | CV_TYPE(LF_UQUADWORD, 0x800a) |
215 | 8.65k | CV_TYPE(LF_REAL48, 0x800b) |
216 | 8.65k | CV_TYPE(LF_COMPLEX32, 0x800c) |
217 | 8.65k | CV_TYPE(LF_COMPLEX64, 0x800d) |
218 | 8.65k | CV_TYPE(LF_COMPLEX80, 0x800e) |
219 | 8.65k | CV_TYPE(LF_COMPLEX128, 0x800f) |
220 | 8.65k | CV_TYPE(LF_VARSTRING, 0x8010) |
221 | 8.65k | CV_TYPE(LF_OCTWORD, 0x8017) |
222 | 8.65k | CV_TYPE(LF_UOCTWORD, 0x8018) |
223 | 8.65k | CV_TYPE(LF_DECIMAL, 0x8019) |
224 | 8.65k | CV_TYPE(LF_DATE, 0x801a) |
225 | 8.65k | CV_TYPE(LF_UTF8STRING, 0x801b) |
226 | 8.65k | CV_TYPE(LF_REAL16, 0x801c) |
227 | 8.65k | |
228 | 8.65k | // Padding bytes. These are emitted into alignment bytes in the type stream. |
229 | 8.65k | |
230 | 8.65k | CV_TYPE(LF_PAD0, 0xf0) |
231 | 8.65k | CV_TYPE(LF_PAD1, 0xf1) |
232 | 8.65k | CV_TYPE(LF_PAD2, 0xf2) |
233 | 8.65k | CV_TYPE(LF_PAD3, 0xf3) |
234 | 8.65k | CV_TYPE(LF_PAD4, 0xf4) |
235 | 8.65k | CV_TYPE(LF_PAD5, 0xf5) |
236 | 8.65k | CV_TYPE(LF_PAD6, 0xf6) |
237 | 8.65k | CV_TYPE(LF_PAD7, 0xf7) |
238 | 8.65k | CV_TYPE(LF_PAD8, 0xf8) |
239 | 8.65k | CV_TYPE(LF_PAD9, 0xf9) |
240 | 8.65k | CV_TYPE(LF_PAD10, 0xfa) |
241 | 8.65k | CV_TYPE(LF_PAD11, 0xfb) |
242 | 8.65k | CV_TYPE(LF_PAD12, 0xfc) |
243 | 8.65k | CV_TYPE(LF_PAD13, 0xfd) |
244 | 8.65k | CV_TYPE(LF_PAD14, 0xfe) |
245 | 8.65k | CV_TYPE(LF_PAD15, 0xff) |
246 | 8.65k | |
247 | 8.65k | #undef CV_TYPE |
248 | 8.65k | #undef TYPE_RECORD |
249 | 8.65k | #undef TYPE_RECORD_ALIAS |
250 | 8.65k | #undef MEMBER_RECORD |
251 | 8.65k | #undef MEMBER_RECORD_ALIAS |