Coverage Report

Created: 2019-07-24 05:18

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