Line data Source code
1 : //===- llvm/Support/Dwarf.def - Dwarf definitions ---------------*- C++ -*-===//
2 : //
3 : // The LLVM Compiler Infrastructure
4 : //
5 : // This file is distributed under the University of Illinois Open Source
6 : // License. See LICENSE.TXT for details.
7 : //
8 : //===----------------------------------------------------------------------===//
9 : //
10 : // Macros for running through Dwarf enumerators.
11 : //
12 : //===----------------------------------------------------------------------===//
13 :
14 : // TODO: Add other DW-based macros.
15 : #if !(defined HANDLE_DW_TAG || defined HANDLE_DW_AT || \
16 : defined HANDLE_DW_FORM || defined HANDLE_DW_OP || \
17 : defined HANDLE_DW_LANG || defined HANDLE_DW_ATE || \
18 : defined HANDLE_DW_VIRTUALITY || defined HANDLE_DW_DEFAULTED || \
19 : defined HANDLE_DW_CC || defined HANDLE_DW_LNS || \
20 : defined HANDLE_DW_LNE || defined HANDLE_DW_LNCT || \
21 : defined HANDLE_DW_MACRO || defined HANDLE_DW_RLE || \
22 : defined HANDLE_DW_CFA || defined HANDLE_DW_APPLE_PROPERTY || \
23 : defined HANDLE_DW_UT)
24 : #error "Missing macro definition of HANDLE_DW*"
25 : #endif
26 :
27 : #ifndef HANDLE_DW_TAG
28 : #define HANDLE_DW_TAG(ID, NAME, VERSION, VENDOR)
29 : #endif
30 :
31 : #ifndef HANDLE_DW_AT
32 : #define HANDLE_DW_AT(ID, NAME, VERSION, VENDOR)
33 : #endif
34 :
35 : #ifndef HANDLE_DW_FORM
36 : #define HANDLE_DW_FORM(ID, NAME, VERSION, VENDOR)
37 : #endif
38 :
39 : #ifndef HANDLE_DW_OP
40 : #define HANDLE_DW_OP(ID, NAME, VERSION, VENDOR)
41 : #endif
42 :
43 : #ifndef HANDLE_DW_LANG
44 : #define HANDLE_DW_LANG(ID, NAME, VERSION, VENDOR)
45 : #endif
46 :
47 : #ifndef HANDLE_DW_ATE
48 : #define HANDLE_DW_ATE(ID, NAME, VERSION, VENDOR)
49 : #endif
50 :
51 : #ifndef HANDLE_DW_VIRTUALITY
52 : #define HANDLE_DW_VIRTUALITY(ID, NAME)
53 : #endif
54 :
55 : #ifndef HANDLE_DW_DEFAULTED
56 : #define HANDLE_DW_DEFAULTED(ID, NAME)
57 : #endif
58 :
59 : #ifndef HANDLE_DW_CC
60 : #define HANDLE_DW_CC(ID, NAME)
61 : #endif
62 :
63 : #ifndef HANDLE_DW_LNS
64 : #define HANDLE_DW_LNS(ID, NAME)
65 : #endif
66 :
67 : #ifndef HANDLE_DW_LNE
68 : #define HANDLE_DW_LNE(ID, NAME)
69 : #endif
70 :
71 : #ifndef HANDLE_DW_LNCT
72 : #define HANDLE_DW_LNCT(ID, NAME)
73 : #endif
74 :
75 : #ifndef HANDLE_DW_MACRO
76 : #define HANDLE_DW_MACRO(ID, NAME)
77 : #endif
78 :
79 : #ifndef HANDLE_DW_RLE
80 : #define HANDLE_DW_RLE(ID, NAME)
81 : #endif
82 :
83 : #ifndef HANDLE_DW_CFA
84 : #define HANDLE_DW_CFA(ID, NAME)
85 : #endif
86 :
87 : #ifndef HANDLE_DW_APPLE_PROPERTY
88 : #define HANDLE_DW_APPLE_PROPERTY(ID, NAME)
89 : #endif
90 :
91 : #ifndef HANDLE_DW_UT
92 : #define HANDLE_DW_UT(ID, NAME)
93 : #endif
94 :
95 8578 : HANDLE_DW_TAG(0x0000, null, 2, DWARF)
96 8903 : HANDLE_DW_TAG(0x0001, array_type, 2, DWARF)
97 9050 : HANDLE_DW_TAG(0x0002, class_type, 2, DWARF)
98 8593 : HANDLE_DW_TAG(0x0003, entry_point, 2, DWARF)
99 8712 : HANDLE_DW_TAG(0x0004, enumeration_type, 2, DWARF)
100 10569 : HANDLE_DW_TAG(0x0005, formal_parameter, 2, DWARF)
101 8709 : HANDLE_DW_TAG(0x0008, imported_declaration, 2, DWARF)
102 8610 : HANDLE_DW_TAG(0x000a, label, 2, DWARF)
103 8786 : HANDLE_DW_TAG(0x000b, lexical_block, 2, DWARF)
104 10230 : HANDLE_DW_TAG(0x000d, member, 2, DWARF)
105 10564 : HANDLE_DW_TAG(0x000f, pointer_type, 2, DWARF)
106 8733 : HANDLE_DW_TAG(0x0010, reference_type, 2, DWARF)
107 10312 : HANDLE_DW_TAG(0x0011, compile_unit, 2, DWARF)
108 8578 : HANDLE_DW_TAG(0x0012, string_type, 2, DWARF)
109 10227 : HANDLE_DW_TAG(0x0013, structure_type, 2, DWARF)
110 8690 : HANDLE_DW_TAG(0x0015, subroutine_type, 2, DWARF)
111 9110 : HANDLE_DW_TAG(0x0016, typedef, 2, DWARF)
112 8662 : HANDLE_DW_TAG(0x0017, union_type, 2, DWARF)
113 8643 : HANDLE_DW_TAG(0x0018, unspecified_parameters, 2, DWARF)
114 8578 : HANDLE_DW_TAG(0x0019, variant, 2, DWARF)
115 8578 : HANDLE_DW_TAG(0x001a, common_block, 2, DWARF)
116 8578 : HANDLE_DW_TAG(0x001b, common_inclusion, 2, DWARF)
117 8721 : HANDLE_DW_TAG(0x001c, inheritance, 2, DWARF)
118 9296 : HANDLE_DW_TAG(0x001d, inlined_subroutine, 2, DWARF)
119 8618 : HANDLE_DW_TAG(0x001e, module, 2, DWARF)
120 8639 : HANDLE_DW_TAG(0x001f, ptr_to_member_type, 2, DWARF)
121 8578 : HANDLE_DW_TAG(0x0020, set_type, 2, DWARF)
122 8735 : HANDLE_DW_TAG(0x0021, subrange_type, 2, DWARF)
123 8578 : HANDLE_DW_TAG(0x0022, with_stmt, 2, DWARF)
124 8578 : HANDLE_DW_TAG(0x0023, access_declaration, 2, DWARF)
125 9933 : HANDLE_DW_TAG(0x0024, base_type, 2, DWARF)
126 8578 : HANDLE_DW_TAG(0x0025, catch_block, 2, DWARF)
127 8955 : HANDLE_DW_TAG(0x0026, const_type, 2, DWARF)
128 8578 : HANDLE_DW_TAG(0x0027, constant, 2, DWARF)
129 8642 : HANDLE_DW_TAG(0x0028, enumerator, 2, DWARF)
130 8578 : HANDLE_DW_TAG(0x0029, file_type, 2, DWARF)
131 8581 : HANDLE_DW_TAG(0x002a, friend, 2, DWARF)
132 8578 : HANDLE_DW_TAG(0x002b, namelist, 2, DWARF)
133 8578 : HANDLE_DW_TAG(0x002c, namelist_item, 2, DWARF)
134 8578 : HANDLE_DW_TAG(0x002d, packed_type, 2, DWARF)
135 11829 : HANDLE_DW_TAG(0x002e, subprogram, 2, DWARF)
136 8647 : HANDLE_DW_TAG(0x002f, template_type_parameter, 2, DWARF)
137 8648 : HANDLE_DW_TAG(0x0030, template_value_parameter, 2, DWARF)
138 8581 : HANDLE_DW_TAG(0x0031, thrown_type, 2, DWARF)
139 8578 : HANDLE_DW_TAG(0x0032, try_block, 2, DWARF)
140 8578 : HANDLE_DW_TAG(0x0033, variant_part, 2, DWARF)
141 10187 : HANDLE_DW_TAG(0x0034, variable, 2, DWARF)
142 8679 : HANDLE_DW_TAG(0x0035, volatile_type, 2, DWARF)
143 : // New in DWARF v3:
144 8578 : HANDLE_DW_TAG(0x0036, dwarf_procedure, 3, DWARF)
145 8611 : HANDLE_DW_TAG(0x0037, restrict_type, 3, DWARF)
146 8578 : HANDLE_DW_TAG(0x0038, interface_type, 3, DWARF)
147 8748 : HANDLE_DW_TAG(0x0039, namespace, 3, DWARF)
148 8650 : HANDLE_DW_TAG(0x003a, imported_module, 3, DWARF)
149 8611 : HANDLE_DW_TAG(0x003b, unspecified_type, 3, DWARF)
150 8578 : HANDLE_DW_TAG(0x003c, partial_unit, 3, DWARF)
151 8578 : HANDLE_DW_TAG(0x003d, imported_unit, 3, DWARF)
152 8578 : HANDLE_DW_TAG(0x003f, condition, 3, DWARF)
153 8578 : HANDLE_DW_TAG(0x0040, shared_type, 3, DWARF)
154 : // New in DWARF v4:
155 8652 : HANDLE_DW_TAG(0x0041, type_unit, 4, DWARF)
156 8614 : HANDLE_DW_TAG(0x0042, rvalue_reference_type, 4, DWARF)
157 8578 : HANDLE_DW_TAG(0x0043, template_alias, 4, DWARF)
158 : // New in DWARF v5:
159 8578 : HANDLE_DW_TAG(0x0044, coarray_type, 5, DWARF)
160 8578 : HANDLE_DW_TAG(0x0045, generic_subrange, 5, DWARF)
161 8578 : HANDLE_DW_TAG(0x0046, dynamic_type, 5, DWARF)
162 8582 : HANDLE_DW_TAG(0x0047, atomic_type, 5, DWARF)
163 8578 : HANDLE_DW_TAG(0x0048, call_site, 5, DWARF)
164 8578 : HANDLE_DW_TAG(0x0049, call_site_parameter, 5, DWARF)
165 8578 : HANDLE_DW_TAG(0x004a, skeleton_unit, 5, DWARF)
166 8578 : HANDLE_DW_TAG(0x004b, immutable_type, 5, DWARF)
167 : // Vendor extensions:
168 8580 : HANDLE_DW_TAG(0x4081, MIPS_loop, 0, MIPS)
169 8578 : HANDLE_DW_TAG(0x4101, format_label, 0, GNU)
170 8578 : HANDLE_DW_TAG(0x4102, function_template, 0, GNU)
171 8578 : HANDLE_DW_TAG(0x4103, class_template, 0, GNU)
172 8587 : HANDLE_DW_TAG(0x4106, GNU_template_template_param, 0, GNU)
173 8598 : HANDLE_DW_TAG(0x4107, GNU_template_parameter_pack, 0, GNU)
174 8578 : HANDLE_DW_TAG(0x4108, GNU_formal_parameter_pack, 0, GNU)
175 8620 : HANDLE_DW_TAG(0x4200, APPLE_property, 0, APPLE)
176 8578 : HANDLE_DW_TAG(0xb000, BORLAND_property, 0, BORLAND)
177 8578 : HANDLE_DW_TAG(0xb001, BORLAND_Delphi_string, 0, BORLAND)
178 8578 : HANDLE_DW_TAG(0xb002, BORLAND_Delphi_dynamic_array, 0, BORLAND)
179 8578 : HANDLE_DW_TAG(0xb003, BORLAND_Delphi_set, 0, BORLAND)
180 8578 : HANDLE_DW_TAG(0xb004, BORLAND_Delphi_variant, 0, BORLAND)
181 :
182 : // Attributes.
183 414 : HANDLE_DW_AT(0x01, sibling, 2, DWARF)
184 2919 : HANDLE_DW_AT(0x02, location, 2, DWARF)
185 11538 : HANDLE_DW_AT(0x03, name, 2, DWARF)
186 410 : HANDLE_DW_AT(0x09, ordering, 2, DWARF)
187 2805 : HANDLE_DW_AT(0x0b, byte_size, 2, DWARF)
188 437 : HANDLE_DW_AT(0x0c, bit_offset, 2, DWARF)
189 455 : HANDLE_DW_AT(0x0d, bit_size, 2, DWARF)
190 2097 : HANDLE_DW_AT(0x10, stmt_list, 2, DWARF)
191 4244 : HANDLE_DW_AT(0x11, low_pc, 2, DWARF)
192 3961 : HANDLE_DW_AT(0x12, high_pc, 2, DWARF)
193 2133 : HANDLE_DW_AT(0x13, language, 2, DWARF)
194 410 : HANDLE_DW_AT(0x15, discr, 2, DWARF)
195 410 : HANDLE_DW_AT(0x16, discr_value, 2, DWARF)
196 414 : HANDLE_DW_AT(0x17, visibility, 2, DWARF)
197 544 : HANDLE_DW_AT(0x18, import, 2, DWARF)
198 410 : HANDLE_DW_AT(0x19, string_length, 2, DWARF)
199 410 : HANDLE_DW_AT(0x1a, common_reference, 2, DWARF)
200 1925 : HANDLE_DW_AT(0x1b, comp_dir, 2, DWARF)
201 706 : HANDLE_DW_AT(0x1c, const_value, 2, DWARF)
202 506 : HANDLE_DW_AT(0x1d, containing_type, 2, DWARF)
203 410 : HANDLE_DW_AT(0x1e, default_value, 2, DWARF)
204 741 : HANDLE_DW_AT(0x20, inline, 2, DWARF)
205 410 : HANDLE_DW_AT(0x21, is_optional, 2, DWARF)
206 431 : HANDLE_DW_AT(0x22, lower_bound, 2, DWARF)
207 2051 : HANDLE_DW_AT(0x25, producer, 2, DWARF)
208 1123 : HANDLE_DW_AT(0x27, prototyped, 2, DWARF)
209 410 : HANDLE_DW_AT(0x2a, return_addr, 2, DWARF)
210 410 : HANDLE_DW_AT(0x2c, start_scope, 2, DWARF)
211 410 : HANDLE_DW_AT(0x2e, bit_stride, 2, DWARF)
212 410 : HANDLE_DW_AT(0x2f, upper_bound, 2, DWARF)
213 1470 : HANDLE_DW_AT(0x31, abstract_origin, 2, DWARF)
214 1084 : HANDLE_DW_AT(0x32, accessibility, 2, DWARF)
215 413 : HANDLE_DW_AT(0x33, address_class, 2, DWARF)
216 1229 : HANDLE_DW_AT(0x34, artificial, 2, DWARF)
217 410 : HANDLE_DW_AT(0x35, base_types, 2, DWARF)
218 416 : HANDLE_DW_AT(0x36, calling_convention, 2, DWARF)
219 551 : HANDLE_DW_AT(0x37, count, 2, DWARF)
220 1180 : HANDLE_DW_AT(0x38, data_member_location, 2, DWARF)
221 410 : HANDLE_DW_AT(0x39, decl_column, 2, DWARF)
222 7669 : HANDLE_DW_AT(0x3a, decl_file, 2, DWARF)
223 7780 : HANDLE_DW_AT(0x3b, decl_line, 2, DWARF)
224 1648 : HANDLE_DW_AT(0x3c, declaration, 2, DWARF)
225 410 : HANDLE_DW_AT(0x3d, discr_list, 2, DWARF)
226 1765 : HANDLE_DW_AT(0x3e, encoding, 2, DWARF)
227 3321 : HANDLE_DW_AT(0x3f, external, 2, DWARF)
228 2164 : HANDLE_DW_AT(0x40, frame_base, 2, DWARF)
229 412 : HANDLE_DW_AT(0x41, friend, 2, DWARF)
230 410 : HANDLE_DW_AT(0x42, identifier_case, 2, DWARF)
231 415 : HANDLE_DW_AT(0x43, macro_info, 2, DWARF)
232 410 : HANDLE_DW_AT(0x44, namelist_item, 2, DWARF)
233 410 : HANDLE_DW_AT(0x45, priority, 2, DWARF)
234 410 : HANDLE_DW_AT(0x46, segment, 2, DWARF)
235 783 : HANDLE_DW_AT(0x47, specification, 2, DWARF)
236 410 : HANDLE_DW_AT(0x48, static_link, 2, DWARF)
237 7870 : HANDLE_DW_AT(0x49, type, 2, DWARF)
238 410 : HANDLE_DW_AT(0x4a, use_location, 2, DWARF)
239 410 : HANDLE_DW_AT(0x4b, variable_parameter, 2, DWARF)
240 459 : HANDLE_DW_AT(0x4c, virtuality, 2, DWARF)
241 456 : HANDLE_DW_AT(0x4d, vtable_elem_location, 2, DWARF)
242 : // New in DWARF v3:
243 410 : HANDLE_DW_AT(0x4e, allocated, 3, DWARF)
244 410 : HANDLE_DW_AT(0x4f, associated, 3, DWARF)
245 410 : HANDLE_DW_AT(0x50, data_location, 3, DWARF)
246 410 : HANDLE_DW_AT(0x51, byte_stride, 3, DWARF)
247 414 : HANDLE_DW_AT(0x52, entry_pc, 3, DWARF)
248 410 : HANDLE_DW_AT(0x53, use_UTF8, 3, DWARF)
249 410 : HANDLE_DW_AT(0x54, extension, 3, DWARF)
250 835 : HANDLE_DW_AT(0x55, ranges, 3, DWARF)
251 410 : HANDLE_DW_AT(0x56, trampoline, 3, DWARF)
252 410 : HANDLE_DW_AT(0x57, call_column, 3, DWARF)
253 1128 : HANDLE_DW_AT(0x58, call_file, 3, DWARF)
254 1128 : HANDLE_DW_AT(0x59, call_line, 3, DWARF)
255 410 : HANDLE_DW_AT(0x5a, description, 3, DWARF)
256 410 : HANDLE_DW_AT(0x5b, binary_scale, 3, DWARF)
257 410 : HANDLE_DW_AT(0x5c, decimal_scale, 3, DWARF)
258 410 : HANDLE_DW_AT(0x5d, small, 3, DWARF)
259 410 : HANDLE_DW_AT(0x5e, decimal_sign, 3, DWARF)
260 410 : HANDLE_DW_AT(0x5f, digit_count, 3, DWARF)
261 410 : HANDLE_DW_AT(0x60, picture_string, 3, DWARF)
262 410 : HANDLE_DW_AT(0x61, mutable, 3, DWARF)
263 410 : HANDLE_DW_AT(0x62, threads_scaled, 3, DWARF)
264 484 : HANDLE_DW_AT(0x63, explicit, 3, DWARF)
265 785 : HANDLE_DW_AT(0x64, object_pointer, 3, DWARF)
266 410 : HANDLE_DW_AT(0x65, endianity, 3, DWARF)
267 410 : HANDLE_DW_AT(0x66, elemental, 3, DWARF)
268 410 : HANDLE_DW_AT(0x67, pure, 3, DWARF)
269 410 : HANDLE_DW_AT(0x68, recursive, 3, DWARF)
270 : // New in DWARF v4:
271 486 : HANDLE_DW_AT(0x69, signature, 4, DWARF)
272 412 : HANDLE_DW_AT(0x6a, main_subprogram, 4, DWARF)
273 428 : HANDLE_DW_AT(0x6b, data_bit_offset, 4, DWARF)
274 410 : HANDLE_DW_AT(0x6c, const_expr, 4, DWARF)
275 413 : HANDLE_DW_AT(0x6d, enum_class, 4, DWARF)
276 1407 : HANDLE_DW_AT(0x6e, linkage_name, 4, DWARF)
277 : // New in DWARF v5:
278 410 : HANDLE_DW_AT(0x6f, string_length_bit_size, 5, DWARF)
279 410 : HANDLE_DW_AT(0x70, string_length_byte_size, 5, DWARF)
280 410 : HANDLE_DW_AT(0x71, rank, 5, DWARF)
281 410 : HANDLE_DW_AT(0x72, str_offsets_base, 5, DWARF)
282 410 : HANDLE_DW_AT(0x73, addr_base, 5, DWARF)
283 410 : HANDLE_DW_AT(0x74, rnglists_base, 5, DWARF)
284 410 : HANDLE_DW_AT(0x75, dwo_id, 0, DWARF) ///< Retracted from DWARF v5.
285 410 : HANDLE_DW_AT(0x76, dwo_name, 5, DWARF)
286 416 : HANDLE_DW_AT(0x77, reference, 5, DWARF)
287 416 : HANDLE_DW_AT(0x78, rvalue_reference, 5, DWARF)
288 410 : HANDLE_DW_AT(0x79, macros, 5, DWARF)
289 410 : HANDLE_DW_AT(0x7a, call_all_calls, 5, DWARF)
290 410 : HANDLE_DW_AT(0x7b, call_all_source_calls, 5, DWARF)
291 410 : HANDLE_DW_AT(0x7c, call_all_tail_calls, 5, DWARF)
292 410 : HANDLE_DW_AT(0x7d, call_return_pc, 5, DWARF)
293 410 : HANDLE_DW_AT(0x7e, call_value, 5, DWARF)
294 410 : HANDLE_DW_AT(0x7f, call_origin, 5, DWARF)
295 410 : HANDLE_DW_AT(0x80, call_parameter, 5, DWARF)
296 410 : HANDLE_DW_AT(0x81, call_pc, 5, DWARF)
297 410 : HANDLE_DW_AT(0x82, call_tail_call, 5, DWARF)
298 410 : HANDLE_DW_AT(0x83, call_target, 5, DWARF)
299 410 : HANDLE_DW_AT(0x84, call_target_clobbered, 5, DWARF)
300 410 : HANDLE_DW_AT(0x85, call_data_location, 5, DWARF)
301 410 : HANDLE_DW_AT(0x86, call_data_value, 5, DWARF)
302 488 : HANDLE_DW_AT(0x87, noreturn, 5, DWARF)
303 1224 : HANDLE_DW_AT(0x88, alignment, 5, DWARF)
304 426 : HANDLE_DW_AT(0x89, export_symbols, 5, DWARF)
305 410 : HANDLE_DW_AT(0x8a, deleted, 5, DWARF)
306 410 : HANDLE_DW_AT(0x8b, defaulted, 5, DWARF)
307 410 : HANDLE_DW_AT(0x8c, loclists_base, 5, DWARF)
308 : // Vendor extensions:
309 418 : HANDLE_DW_AT(0x2002, MIPS_loop_begin, 0, MIPS)
310 418 : HANDLE_DW_AT(0x2003, MIPS_tail_loop_begin, 0, MIPS)
311 418 : HANDLE_DW_AT(0x2004, MIPS_epilog_begin, 0, MIPS)
312 418 : HANDLE_DW_AT(0x2005, MIPS_loop_unroll_factor, 0, MIPS)
313 418 : HANDLE_DW_AT(0x2006, MIPS_software_pipeline_depth, 0, MIPS)
314 608 : HANDLE_DW_AT(0x2007, MIPS_linkage_name, 0, MIPS)
315 418 : HANDLE_DW_AT(0x2008, MIPS_stride, 0, MIPS)
316 418 : HANDLE_DW_AT(0x2009, MIPS_abstract_name, 0, MIPS)
317 418 : HANDLE_DW_AT(0x200a, MIPS_clone_origin, 0, MIPS)
318 418 : HANDLE_DW_AT(0x200b, MIPS_has_inlines, 0, MIPS)
319 418 : HANDLE_DW_AT(0x200c, MIPS_stride_byte, 0, MIPS)
320 418 : HANDLE_DW_AT(0x200d, MIPS_stride_elem, 0, MIPS)
321 418 : HANDLE_DW_AT(0x200e, MIPS_ptr_dopetype, 0, MIPS)
322 418 : HANDLE_DW_AT(0x200f, MIPS_allocatable_dopetype, 0, MIPS)
323 414 : HANDLE_DW_AT(0x2010, MIPS_assumed_shape_dopetype, 0, MIPS)
324 : // This one appears to have only been implemented by Open64 for
325 : // fortran and may conflict with other extensions.
326 418 : HANDLE_DW_AT(0x2011, MIPS_assumed_size, 0, MIPS)
327 : // GNU extensions
328 410 : HANDLE_DW_AT(0x2101, sf_names, 0, GNU)
329 410 : HANDLE_DW_AT(0x2102, src_info, 0, GNU)
330 410 : HANDLE_DW_AT(0x2103, mac_info, 0, GNU)
331 410 : HANDLE_DW_AT(0x2104, src_coords, 0, GNU)
332 410 : HANDLE_DW_AT(0x2105, body_begin, 0, GNU)
333 410 : HANDLE_DW_AT(0x2106, body_end, 0, GNU)
334 422 : HANDLE_DW_AT(0x2107, GNU_vector, 0, GNU)
335 412 : HANDLE_DW_AT(0x2110, GNU_template_name, 0, GNU)
336 421 : HANDLE_DW_AT(0x210f, GNU_odr_signature, 0, GNU)
337 410 : HANDLE_DW_AT(0x2119, GNU_macros, 0, GNU)
338 : // Extensions for Fission proposal.
339 519 : HANDLE_DW_AT(0x2130, GNU_dwo_name, 0, GNU)
340 580 : HANDLE_DW_AT(0x2131, GNU_dwo_id, 0, GNU)
341 415 : HANDLE_DW_AT(0x2132, GNU_ranges_base, 0, GNU)
342 454 : HANDLE_DW_AT(0x2133, GNU_addr_base, 0, GNU)
343 421 : HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU)
344 410 : HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU)
345 417 : HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU)
346 : // Borland extensions.
347 410 : HANDLE_DW_AT(0x3b11, BORLAND_property_read, 0, BORLAND)
348 410 : HANDLE_DW_AT(0x3b12, BORLAND_property_write, 0, BORLAND)
349 410 : HANDLE_DW_AT(0x3b13, BORLAND_property_implements, 0, BORLAND)
350 410 : HANDLE_DW_AT(0x3b14, BORLAND_property_index, 0, BORLAND)
351 410 : HANDLE_DW_AT(0x3b15, BORLAND_property_default, 0, BORLAND)
352 410 : HANDLE_DW_AT(0x3b20, BORLAND_Delphi_unit, 0, BORLAND)
353 410 : HANDLE_DW_AT(0x3b21, BORLAND_Delphi_class, 0, BORLAND)
354 410 : HANDLE_DW_AT(0x3b22, BORLAND_Delphi_record, 0, BORLAND)
355 410 : HANDLE_DW_AT(0x3b23, BORLAND_Delphi_metaclass, 0, BORLAND)
356 410 : HANDLE_DW_AT(0x3b24, BORLAND_Delphi_constructor, 0, BORLAND)
357 410 : HANDLE_DW_AT(0x3b25, BORLAND_Delphi_destructor, 0, BORLAND)
358 410 : HANDLE_DW_AT(0x3b26, BORLAND_Delphi_anonymous_method, 0, BORLAND)
359 410 : HANDLE_DW_AT(0x3b27, BORLAND_Delphi_interface, 0, BORLAND)
360 410 : HANDLE_DW_AT(0x3b28, BORLAND_Delphi_ABI, 0, BORLAND)
361 410 : HANDLE_DW_AT(0x3b29, BORLAND_Delphi_return, 0, BORLAND)
362 410 : HANDLE_DW_AT(0x3b30, BORLAND_Delphi_frameptr, 0, BORLAND)
363 410 : HANDLE_DW_AT(0x3b31, BORLAND_closure, 0, BORLAND)
364 : // LLVM project extensions.
365 443 : HANDLE_DW_AT(0x3e00, LLVM_include_path, 0, LLVM)
366 419 : HANDLE_DW_AT(0x3e01, LLVM_config_macros, 0, LLVM)
367 450 : HANDLE_DW_AT(0x3e02, LLVM_isysroot, 0, LLVM)
368 : // Apple extensions.
369 871 : HANDLE_DW_AT(0x3fe1, APPLE_optimized, 0, APPLE)
370 410 : HANDLE_DW_AT(0x3fe2, APPLE_flags, 0, APPLE)
371 496 : HANDLE_DW_AT(0x3fe3, APPLE_isa, 0, APPLE)
372 420 : HANDLE_DW_AT(0x3fe4, APPLE_block, 0, APPLE)
373 462 : HANDLE_DW_AT(0x3fe5, APPLE_major_runtime_vers, 0, APPLE)
374 492 : HANDLE_DW_AT(0x3fe6, APPLE_runtime_class, 0, APPLE)
375 773 : HANDLE_DW_AT(0x3fe7, APPLE_omit_frame_ptr, 0, APPLE)
376 452 : HANDLE_DW_AT(0x3fe8, APPLE_property_name, 0, APPLE)
377 412 : HANDLE_DW_AT(0x3fe9, APPLE_property_getter, 0, APPLE)
378 412 : HANDLE_DW_AT(0x3fea, APPLE_property_setter, 0, APPLE)
379 452 : HANDLE_DW_AT(0x3feb, APPLE_property_attribute, 0, APPLE)
380 442 : HANDLE_DW_AT(0x3fec, APPLE_objc_complete_type, 0, APPLE)
381 410 : HANDLE_DW_AT(0x3fed, APPLE_property, 0, APPLE)
382 :
383 : // Attribute form encodings.
384 4564 : HANDLE_DW_FORM(0x01, addr, 2, DWARF)
385 418 : HANDLE_DW_FORM(0x03, block2, 2, DWARF)
386 418 : HANDLE_DW_FORM(0x04, block4, 2, DWARF)
387 3019 : HANDLE_DW_FORM(0x05, data2, 2, DWARF)
388 4138 : HANDLE_DW_FORM(0x06, data4, 2, DWARF)
389 614 : HANDLE_DW_FORM(0x07, data8, 2, DWARF)
390 551 : HANDLE_DW_FORM(0x08, string, 2, DWARF)
391 418 : HANDLE_DW_FORM(0x09, block, 2, DWARF)
392 1806 : HANDLE_DW_FORM(0x0a, block1, 2, DWARF)
393 18951 : HANDLE_DW_FORM(0x0b, data1, 2, DWARF)
394 2039 : HANDLE_DW_FORM(0x0c, flag, 2, DWARF)
395 572 : HANDLE_DW_FORM(0x0d, sdata, 2, DWARF)
396 13315 : HANDLE_DW_FORM(0x0e, strp, 2, DWARF)
397 1258 : HANDLE_DW_FORM(0x0f, udata, 2, DWARF)
398 788 : HANDLE_DW_FORM(0x10, ref_addr, 2, DWARF)
399 424 : HANDLE_DW_FORM(0x11, ref1, 2, DWARF)
400 424 : HANDLE_DW_FORM(0x12, ref2, 2, DWARF)
401 8257 : HANDLE_DW_FORM(0x13, ref4, 2, DWARF)
402 424 : HANDLE_DW_FORM(0x14, ref8, 2, DWARF)
403 418 : HANDLE_DW_FORM(0x15, ref_udata, 2, DWARF)
404 410 : HANDLE_DW_FORM(0x16, indirect, 2, DWARF)
405 : // New in DWARF v4:
406 2236 : HANDLE_DW_FORM(0x17, sec_offset, 4, DWARF)
407 2413 : HANDLE_DW_FORM(0x18, exprloc, 4, DWARF)
408 4856 : HANDLE_DW_FORM(0x19, flag_present, 4, DWARF)
409 : // This was defined out of sequence.
410 501 : HANDLE_DW_FORM(0x20, ref_sig8, 4, DWARF)
411 : // New in DWARF v5:
412 410 : HANDLE_DW_FORM(0x1a, strx, 5, DWARF)
413 410 : HANDLE_DW_FORM(0x1b, addrx, 5, DWARF)
414 410 : HANDLE_DW_FORM(0x1c, ref_sup4, 5, DWARF)
415 410 : HANDLE_DW_FORM(0x1d, strp_sup, 5, DWARF)
416 410 : HANDLE_DW_FORM(0x1e, data16, 5, DWARF)
417 410 : HANDLE_DW_FORM(0x1f, line_strp, 5, DWARF)
418 417 : HANDLE_DW_FORM(0x21, implicit_const, 5, DWARF)
419 410 : HANDLE_DW_FORM(0x22, loclistx, 5, DWARF)
420 410 : HANDLE_DW_FORM(0x23, rnglistx, 5, DWARF)
421 410 : HANDLE_DW_FORM(0x24, ref_sup8, 5, DWARF)
422 410 : HANDLE_DW_FORM(0x25, strx1, 5, DWARF)
423 410 : HANDLE_DW_FORM(0x26, strx2, 5, DWARF)
424 410 : HANDLE_DW_FORM(0x27, strx3, 5, DWARF)
425 410 : HANDLE_DW_FORM(0x28, strx4, 5, DWARF)
426 410 : HANDLE_DW_FORM(0x29, addrx1, 5, DWARF)
427 410 : HANDLE_DW_FORM(0x2a, addrx2, 5, DWARF)
428 410 : HANDLE_DW_FORM(0x2b, addrx3, 5, DWARF)
429 410 : HANDLE_DW_FORM(0x2c, addrx4, 5, DWARF)
430 : // Extensions for Fission proposal
431 486 : HANDLE_DW_FORM(0x1f01, GNU_addr_index, 0, GNU)
432 1011 : HANDLE_DW_FORM(0x1f02, GNU_str_index, 0, GNU)
433 : // Alternate debug sections proposal (output of "dwz" tool).
434 418 : HANDLE_DW_FORM(0x1f20, GNU_ref_alt, 0, GNU)
435 410 : HANDLE_DW_FORM(0x1f21, GNU_strp_alt, 0, GNU)
436 :
437 : // DWARF Expression operators.
438 888 : HANDLE_DW_OP(0x03, addr, 2, DWARF)
439 1139 : HANDLE_DW_OP(0x06, deref, 2, DWARF)
440 888 : HANDLE_DW_OP(0x08, const1u, 2, DWARF)
441 888 : HANDLE_DW_OP(0x09, const1s, 2, DWARF)
442 888 : HANDLE_DW_OP(0x0a, const2u, 2, DWARF)
443 888 : HANDLE_DW_OP(0x0b, const2s, 2, DWARF)
444 888 : HANDLE_DW_OP(0x0c, const4u, 2, DWARF)
445 888 : HANDLE_DW_OP(0x0d, const4s, 2, DWARF)
446 888 : HANDLE_DW_OP(0x0e, const8u, 2, DWARF)
447 888 : HANDLE_DW_OP(0x0f, const8s, 2, DWARF)
448 1062 : HANDLE_DW_OP(0x10, constu, 2, DWARF)
449 923 : HANDLE_DW_OP(0x11, consts, 2, DWARF)
450 888 : HANDLE_DW_OP(0x12, dup, 2, DWARF)
451 888 : HANDLE_DW_OP(0x13, drop, 2, DWARF)
452 888 : HANDLE_DW_OP(0x14, over, 2, DWARF)
453 888 : HANDLE_DW_OP(0x15, pick, 2, DWARF)
454 908 : HANDLE_DW_OP(0x16, swap, 2, DWARF)
455 888 : HANDLE_DW_OP(0x17, rot, 2, DWARF)
456 908 : HANDLE_DW_OP(0x18, xderef, 2, DWARF)
457 888 : HANDLE_DW_OP(0x19, abs, 2, DWARF)
458 889 : HANDLE_DW_OP(0x1a, and, 2, DWARF)
459 888 : HANDLE_DW_OP(0x1b, div, 2, DWARF)
460 901 : HANDLE_DW_OP(0x1c, minus, 2, DWARF)
461 888 : HANDLE_DW_OP(0x1d, mod, 2, DWARF)
462 888 : HANDLE_DW_OP(0x1e, mul, 2, DWARF)
463 888 : HANDLE_DW_OP(0x1f, neg, 2, DWARF)
464 888 : HANDLE_DW_OP(0x20, not, 2, DWARF)
465 888 : HANDLE_DW_OP(0x21, or, 2, DWARF)
466 940 : HANDLE_DW_OP(0x22, plus, 2, DWARF)
467 912 : HANDLE_DW_OP(0x23, plus_uconst, 2, DWARF)
468 888 : HANDLE_DW_OP(0x24, shl, 2, DWARF)
469 888 : HANDLE_DW_OP(0x25, shr, 2, DWARF)
470 888 : HANDLE_DW_OP(0x26, shra, 2, DWARF)
471 888 : HANDLE_DW_OP(0x27, xor, 2, DWARF)
472 888 : HANDLE_DW_OP(0x28, bra, 2, DWARF)
473 888 : HANDLE_DW_OP(0x29, eq, 2, DWARF)
474 888 : HANDLE_DW_OP(0x2a, ge, 2, DWARF)
475 888 : HANDLE_DW_OP(0x2b, gt, 2, DWARF)
476 888 : HANDLE_DW_OP(0x2c, le, 2, DWARF)
477 888 : HANDLE_DW_OP(0x2d, lt, 2, DWARF)
478 888 : HANDLE_DW_OP(0x2e, ne, 2, DWARF)
479 888 : HANDLE_DW_OP(0x2f, skip, 2, DWARF)
480 888 : HANDLE_DW_OP(0x30, lit0, 2, DWARF)
481 888 : HANDLE_DW_OP(0x31, lit1, 2, DWARF)
482 888 : HANDLE_DW_OP(0x32, lit2, 2, DWARF)
483 888 : HANDLE_DW_OP(0x33, lit3, 2, DWARF)
484 888 : HANDLE_DW_OP(0x34, lit4, 2, DWARF)
485 888 : HANDLE_DW_OP(0x35, lit5, 2, DWARF)
486 888 : HANDLE_DW_OP(0x36, lit6, 2, DWARF)
487 888 : HANDLE_DW_OP(0x37, lit7, 2, DWARF)
488 888 : HANDLE_DW_OP(0x38, lit8, 2, DWARF)
489 888 : HANDLE_DW_OP(0x39, lit9, 2, DWARF)
490 888 : HANDLE_DW_OP(0x3a, lit10, 2, DWARF)
491 888 : HANDLE_DW_OP(0x3b, lit11, 2, DWARF)
492 888 : HANDLE_DW_OP(0x3c, lit12, 2, DWARF)
493 888 : HANDLE_DW_OP(0x3d, lit13, 2, DWARF)
494 888 : HANDLE_DW_OP(0x3e, lit14, 2, DWARF)
495 888 : HANDLE_DW_OP(0x3f, lit15, 2, DWARF)
496 888 : HANDLE_DW_OP(0x40, lit16, 2, DWARF)
497 888 : HANDLE_DW_OP(0x41, lit17, 2, DWARF)
498 888 : HANDLE_DW_OP(0x42, lit18, 2, DWARF)
499 888 : HANDLE_DW_OP(0x43, lit19, 2, DWARF)
500 888 : HANDLE_DW_OP(0x44, lit20, 2, DWARF)
501 888 : HANDLE_DW_OP(0x45, lit21, 2, DWARF)
502 888 : HANDLE_DW_OP(0x46, lit22, 2, DWARF)
503 888 : HANDLE_DW_OP(0x47, lit23, 2, DWARF)
504 888 : HANDLE_DW_OP(0x48, lit24, 2, DWARF)
505 888 : HANDLE_DW_OP(0x49, lit25, 2, DWARF)
506 888 : HANDLE_DW_OP(0x4a, lit26, 2, DWARF)
507 888 : HANDLE_DW_OP(0x4b, lit27, 2, DWARF)
508 888 : HANDLE_DW_OP(0x4c, lit28, 2, DWARF)
509 888 : HANDLE_DW_OP(0x4d, lit29, 2, DWARF)
510 888 : HANDLE_DW_OP(0x4e, lit30, 2, DWARF)
511 888 : HANDLE_DW_OP(0x4f, lit31, 2, DWARF)
512 2116 : HANDLE_DW_OP(0x50, reg0, 2, DWARF)
513 1613 : HANDLE_DW_OP(0x51, reg1, 2, DWARF)
514 1557 : HANDLE_DW_OP(0x52, reg2, 2, DWARF)
515 2185 : HANDLE_DW_OP(0x53, reg3, 2, DWARF)
516 1596 : HANDLE_DW_OP(0x54, reg4, 2, DWARF)
517 3174 : HANDLE_DW_OP(0x55, reg5, 2, DWARF)
518 1681 : HANDLE_DW_OP(0x56, reg6, 2, DWARF)
519 893 : HANDLE_DW_OP(0x57, reg7, 2, DWARF)
520 979 : HANDLE_DW_OP(0x58, reg8, 2, DWARF)
521 942 : HANDLE_DW_OP(0x59, reg9, 2, DWARF)
522 916 : HANDLE_DW_OP(0x5a, reg10, 2, DWARF)
523 911 : HANDLE_DW_OP(0x5b, reg11, 2, DWARF)
524 1499 : HANDLE_DW_OP(0x5c, reg12, 2, DWARF)
525 1501 : HANDLE_DW_OP(0x5d, reg13, 2, DWARF)
526 1866 : HANDLE_DW_OP(0x5e, reg14, 2, DWARF)
527 1810 : HANDLE_DW_OP(0x5f, reg15, 2, DWARF)
528 888 : HANDLE_DW_OP(0x60, reg16, 2, DWARF)
529 915 : HANDLE_DW_OP(0x61, reg17, 2, DWARF)
530 896 : HANDLE_DW_OP(0x62, reg18, 2, DWARF)
531 899 : HANDLE_DW_OP(0x63, reg19, 2, DWARF)
532 896 : HANDLE_DW_OP(0x64, reg20, 2, DWARF)
533 892 : HANDLE_DW_OP(0x65, reg21, 2, DWARF)
534 896 : HANDLE_DW_OP(0x66, reg22, 2, DWARF)
535 896 : HANDLE_DW_OP(0x67, reg23, 2, DWARF)
536 892 : HANDLE_DW_OP(0x68, reg24, 2, DWARF)
537 888 : HANDLE_DW_OP(0x69, reg25, 2, DWARF)
538 888 : HANDLE_DW_OP(0x6a, reg26, 2, DWARF)
539 888 : HANDLE_DW_OP(0x6b, reg27, 2, DWARF)
540 888 : HANDLE_DW_OP(0x6c, reg28, 2, DWARF)
541 888 : HANDLE_DW_OP(0x6d, reg29, 2, DWARF)
542 888 : HANDLE_DW_OP(0x6e, reg30, 2, DWARF)
543 888 : HANDLE_DW_OP(0x6f, reg31, 2, DWARF)
544 948 : HANDLE_DW_OP(0x70, breg0, 2, DWARF)
545 914 : HANDLE_DW_OP(0x71, breg1, 2, DWARF)
546 926 : HANDLE_DW_OP(0x72, breg2, 2, DWARF)
547 1014 : HANDLE_DW_OP(0x73, breg3, 2, DWARF)
548 942 : HANDLE_DW_OP(0x74, breg4, 2, DWARF)
549 1071 : HANDLE_DW_OP(0x75, breg5, 2, DWARF)
550 985 : HANDLE_DW_OP(0x76, breg6, 2, DWARF)
551 2438 : HANDLE_DW_OP(0x77, breg7, 2, DWARF)
552 898 : HANDLE_DW_OP(0x78, breg8, 2, DWARF)
553 889 : HANDLE_DW_OP(0x79, breg9, 2, DWARF)
554 888 : HANDLE_DW_OP(0x7a, breg10, 2, DWARF)
555 888 : HANDLE_DW_OP(0x7b, breg11, 2, DWARF)
556 969 : HANDLE_DW_OP(0x7c, breg12, 2, DWARF)
557 934 : HANDLE_DW_OP(0x7d, breg13, 2, DWARF)
558 952 : HANDLE_DW_OP(0x7e, breg14, 2, DWARF)
559 1020 : HANDLE_DW_OP(0x7f, breg15, 2, DWARF)
560 888 : HANDLE_DW_OP(0x80, breg16, 2, DWARF)
561 889 : HANDLE_DW_OP(0x81, breg17, 2, DWARF)
562 888 : HANDLE_DW_OP(0x82, breg18, 2, DWARF)
563 888 : HANDLE_DW_OP(0x83, breg19, 2, DWARF)
564 888 : HANDLE_DW_OP(0x84, breg20, 2, DWARF)
565 888 : HANDLE_DW_OP(0x85, breg21, 2, DWARF)
566 888 : HANDLE_DW_OP(0x86, breg22, 2, DWARF)
567 888 : HANDLE_DW_OP(0x87, breg23, 2, DWARF)
568 888 : HANDLE_DW_OP(0x88, breg24, 2, DWARF)
569 888 : HANDLE_DW_OP(0x89, breg25, 2, DWARF)
570 888 : HANDLE_DW_OP(0x8a, breg26, 2, DWARF)
571 888 : HANDLE_DW_OP(0x8b, breg27, 2, DWARF)
572 888 : HANDLE_DW_OP(0x8c, breg28, 2, DWARF)
573 896 : HANDLE_DW_OP(0x8d, breg29, 2, DWARF)
574 890 : HANDLE_DW_OP(0x8e, breg30, 2, DWARF)
575 901 : HANDLE_DW_OP(0x8f, breg31, 2, DWARF)
576 910 : HANDLE_DW_OP(0x90, regx, 2, DWARF)
577 888 : HANDLE_DW_OP(0x91, fbreg, 2, DWARF)
578 891 : HANDLE_DW_OP(0x92, bregx, 2, DWARF)
579 1025 : HANDLE_DW_OP(0x93, piece, 2, DWARF)
580 888 : HANDLE_DW_OP(0x94, deref_size, 2, DWARF)
581 888 : HANDLE_DW_OP(0x95, xderef_size, 2, DWARF)
582 888 : HANDLE_DW_OP(0x96, nop, 2, DWARF)
583 : // New in DWARF v3:
584 888 : HANDLE_DW_OP(0x97, push_object_address, 3, DWARF)
585 888 : HANDLE_DW_OP(0x98, call2, 3, DWARF)
586 888 : HANDLE_DW_OP(0x99, call4, 3, DWARF)
587 888 : HANDLE_DW_OP(0x9a, call_ref, 3, DWARF)
588 888 : HANDLE_DW_OP(0x9b, form_tls_address, 3, DWARF)
589 888 : HANDLE_DW_OP(0x9c, call_frame_cfa, 3, DWARF)
590 894 : HANDLE_DW_OP(0x9d, bit_piece, 3, DWARF)
591 : // New in DWARF v4:
592 888 : HANDLE_DW_OP(0x9e, implicit_value, 4, DWARF)
593 1713 : HANDLE_DW_OP(0x9f, stack_value, 4, DWARF)
594 : // New in DWARF v5:
595 888 : HANDLE_DW_OP(0xa0, implicit_pointer, 5, DWARF)
596 888 : HANDLE_DW_OP(0xa1, addrx, 5, DWARF)
597 888 : HANDLE_DW_OP(0xa2, constx, 5, DWARF)
598 888 : HANDLE_DW_OP(0xa3, entry_value, 5, DWARF)
599 888 : HANDLE_DW_OP(0xa4, const_type, 5, DWARF)
600 888 : HANDLE_DW_OP(0xa5, regval_type, 5, DWARF)
601 888 : HANDLE_DW_OP(0xa6, deref_type, 5, DWARF)
602 888 : HANDLE_DW_OP(0xa7, xderef_type, 5, DWARF)
603 888 : HANDLE_DW_OP(0xa8, convert, 5, DWARF)
604 888 : HANDLE_DW_OP(0xa9, reinterpret, 5, DWARF)
605 : // Vendor extensions:
606 : // Extensions for GNU-style thread-local storage.
607 888 : HANDLE_DW_OP(0xe0, GNU_push_tls_address, 0, GNU)
608 : // Extensions for Fission proposal.
609 888 : HANDLE_DW_OP(0xfb, GNU_addr_index, 0, GNU)
610 888 : HANDLE_DW_OP(0xfc, GNU_const_index, 0, GNU)
611 :
612 : // DWARF languages.
613 3982 : HANDLE_DW_LANG(0x0001, C89, 2, DWARF)
614 3957 : HANDLE_DW_LANG(0x0002, C, 2, DWARF)
615 3954 : HANDLE_DW_LANG(0x0003, Ada83, 2, DWARF)
616 4449 : HANDLE_DW_LANG(0x0004, C_plus_plus, 2, DWARF)
617 3954 : HANDLE_DW_LANG(0x0005, Cobol74, 2, DWARF)
618 3960 : HANDLE_DW_LANG(0x0006, Cobol85, 2, DWARF)
619 3955 : HANDLE_DW_LANG(0x0007, Fortran77, 2, DWARF)
620 3954 : HANDLE_DW_LANG(0x0008, Fortran90, 2, DWARF)
621 3954 : HANDLE_DW_LANG(0x0009, Pascal83, 2, DWARF)
622 3954 : HANDLE_DW_LANG(0x000a, Modula2, 2, DWARF)
623 : // New in DWARF v3:
624 3954 : HANDLE_DW_LANG(0x000b, Java, 3, DWARF)
625 4613 : HANDLE_DW_LANG(0x000c, C99, 3, DWARF)
626 3954 : HANDLE_DW_LANG(0x000d, Ada95, 3, DWARF)
627 3954 : HANDLE_DW_LANG(0x000e, Fortran95, 3, DWARF)
628 3954 : HANDLE_DW_LANG(0x000f, PLI, 3, DWARF)
629 4114 : HANDLE_DW_LANG(0x0010, ObjC, 3, DWARF)
630 3982 : HANDLE_DW_LANG(0x0011, ObjC_plus_plus, 3, DWARF)
631 3954 : HANDLE_DW_LANG(0x0012, UPC, 3, DWARF)
632 3954 : HANDLE_DW_LANG(0x0013, D, 3, DWARF)
633 : // New in DWARF v4:
634 3954 : HANDLE_DW_LANG(0x0014, Python, 4, DWARF)
635 : // New in DWARF v5:
636 3954 : HANDLE_DW_LANG(0x0015, OpenCL, 5, DWARF)
637 3954 : HANDLE_DW_LANG(0x0016, Go, 5, DWARF)
638 3954 : HANDLE_DW_LANG(0x0017, Modula3, 5, DWARF)
639 3954 : HANDLE_DW_LANG(0x0018, Haskell, 5, DWARF)
640 3954 : HANDLE_DW_LANG(0x0019, C_plus_plus_03, 5, DWARF)
641 3968 : HANDLE_DW_LANG(0x001a, C_plus_plus_11, 5, DWARF)
642 3954 : HANDLE_DW_LANG(0x001b, OCaml, 5, DWARF)
643 3954 : HANDLE_DW_LANG(0x001c, Rust, 5, DWARF)
644 3954 : HANDLE_DW_LANG(0x001d, C11, 5, DWARF)
645 3956 : HANDLE_DW_LANG(0x001e, Swift, 5, DWARF)
646 3959 : HANDLE_DW_LANG(0x001f, Julia, 5, DWARF)
647 3954 : HANDLE_DW_LANG(0x0020, Dylan, 5, DWARF)
648 3954 : HANDLE_DW_LANG(0x0021, C_plus_plus_14, 5, DWARF)
649 3954 : HANDLE_DW_LANG(0x0022, Fortran03, 5, DWARF)
650 3954 : HANDLE_DW_LANG(0x0023, Fortran08, 5, DWARF)
651 3954 : HANDLE_DW_LANG(0x0024, RenderScript, 5, DWARF)
652 3954 : HANDLE_DW_LANG(0x0025, BLISS, 5, DWARF)
653 : // Vendor extensions:
654 3968 : HANDLE_DW_LANG(0x8001, Mips_Assembler, 0, MIPS)
655 3955 : HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, GOOGLE)
656 3954 : HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, BORLAND)
657 :
658 : // DWARF attribute type encodings.
659 3024 : HANDLE_DW_ATE(0x01, address, 2, DWARF)
660 3052 : HANDLE_DW_ATE(0x02, boolean, 2, DWARF)
661 3026 : HANDLE_DW_ATE(0x03, complex_float, 2, DWARF)
662 3104 : HANDLE_DW_ATE(0x04, float, 2, DWARF)
663 3720 : HANDLE_DW_ATE(0x05, signed, 2, DWARF)
664 3135 : HANDLE_DW_ATE(0x06, signed_char, 2, DWARF)
665 3130 : HANDLE_DW_ATE(0x07, unsigned, 2, DWARF)
666 3054 : HANDLE_DW_ATE(0x08, unsigned_char, 2, DWARF)
667 : // New in DWARF v3:
668 3024 : HANDLE_DW_ATE(0x09, imaginary_float, 3, DWARF)
669 3024 : HANDLE_DW_ATE(0x0a, packed_decimal, 3, DWARF)
670 3024 : HANDLE_DW_ATE(0x0b, numeric_string, 3, DWARF)
671 3024 : HANDLE_DW_ATE(0x0c, edited, 3, DWARF)
672 3024 : HANDLE_DW_ATE(0x0d, signed_fixed, 3, DWARF)
673 3024 : HANDLE_DW_ATE(0x0e, unsigned_fixed, 3, DWARF)
674 3024 : HANDLE_DW_ATE(0x0f, decimal_float, 3, DWARF)
675 : // New in DWARF v4:
676 3026 : HANDLE_DW_ATE(0x10, UTF, 4, DWARF)
677 : // New in DWARF v5:
678 3024 : HANDLE_DW_ATE(0x11, UCS, 5, DWARF)
679 3024 : HANDLE_DW_ATE(0x12, ASCII, 5, DWARF)
680 :
681 : // DWARF virtuality codes.
682 187 : HANDLE_DW_VIRTUALITY(0x00, none)
683 229 : HANDLE_DW_VIRTUALITY(0x01, virtual)
684 202 : HANDLE_DW_VIRTUALITY(0x02, pure_virtual)
685 :
686 : // DWARF v5 Defaulted Member Encodings.
687 : HANDLE_DW_DEFAULTED(0x00, no)
688 : HANDLE_DW_DEFAULTED(0x01, in_class)
689 : HANDLE_DW_DEFAULTED(0x02, out_of_class)
690 :
691 : // DWARF calling convention codes.
692 129 : HANDLE_DW_CC(0x01, normal)
693 123 : HANDLE_DW_CC(0x02, program)
694 123 : HANDLE_DW_CC(0x03, nocall)
695 : // New in DWARF v5:
696 123 : HANDLE_DW_CC(0x04, pass_by_reference)
697 123 : HANDLE_DW_CC(0x05, pass_by_value)
698 : // Vendor extensions:
699 123 : HANDLE_DW_CC(0x41, GNU_borland_fastcall_i386)
700 123 : HANDLE_DW_CC(0xb0, BORLAND_safecall)
701 130 : HANDLE_DW_CC(0xb1, BORLAND_stdcall)
702 123 : HANDLE_DW_CC(0xb2, BORLAND_pascal)
703 132 : HANDLE_DW_CC(0xb3, BORLAND_msfastcall)
704 123 : HANDLE_DW_CC(0xb4, BORLAND_msreturn)
705 144 : HANDLE_DW_CC(0xb5, BORLAND_thiscall)
706 123 : HANDLE_DW_CC(0xb6, BORLAND_fastcall)
707 130 : HANDLE_DW_CC(0xc0, LLVM_vectorcall)
708 :
709 : // Line Number Extended Opcode Encodings
710 18 : HANDLE_DW_LNE(0x01, end_sequence)
711 18 : HANDLE_DW_LNE(0x02, set_address)
712 18 : HANDLE_DW_LNE(0x03, define_file)
713 : // New in DWARF v4:
714 18 : HANDLE_DW_LNE(0x04, set_discriminator)
715 :
716 : // Line Number Standard Opcode Encodings.
717 70 : HANDLE_DW_LNS(0x00, extended_op)
718 318 : HANDLE_DW_LNS(0x01, copy)
719 318 : HANDLE_DW_LNS(0x02, advance_pc)
720 318 : HANDLE_DW_LNS(0x03, advance_line)
721 318 : HANDLE_DW_LNS(0x04, set_file)
722 318 : HANDLE_DW_LNS(0x05, set_column)
723 318 : HANDLE_DW_LNS(0x06, negate_stmt)
724 318 : HANDLE_DW_LNS(0x07, set_basic_block)
725 318 : HANDLE_DW_LNS(0x08, const_add_pc)
726 318 : HANDLE_DW_LNS(0x09, fixed_advance_pc)
727 : // New in DWARF v3:
728 318 : HANDLE_DW_LNS(0x0a, set_prologue_end)
729 318 : HANDLE_DW_LNS(0x0b, set_epilogue_begin)
730 318 : HANDLE_DW_LNS(0x0c, set_isa)
731 :
732 : // DWARF v5 Line number header entry format.
733 : HANDLE_DW_LNCT(0x01, path)
734 : HANDLE_DW_LNCT(0x02, directory_index)
735 : HANDLE_DW_LNCT(0x03, timestamp)
736 : HANDLE_DW_LNCT(0x04, size)
737 : HANDLE_DW_LNCT(0x05, MD5)
738 :
739 : // DWARF v5 Macro information.
740 : HANDLE_DW_MACRO(0x01, define)
741 : HANDLE_DW_MACRO(0x02, undef)
742 : HANDLE_DW_MACRO(0x03, start_file)
743 : HANDLE_DW_MACRO(0x04, end_file)
744 : HANDLE_DW_MACRO(0x05, define_strp)
745 : HANDLE_DW_MACRO(0x06, undef_strp)
746 : HANDLE_DW_MACRO(0x07, import)
747 : HANDLE_DW_MACRO(0x08, define_sup)
748 : HANDLE_DW_MACRO(0x09, undef_sup)
749 : HANDLE_DW_MACRO(0x0a, import_sup)
750 : HANDLE_DW_MACRO(0x0b, define_strx)
751 : HANDLE_DW_MACRO(0x0c, undef_strx)
752 :
753 : // DWARF v5 Range List Entry encoding values.
754 : HANDLE_DW_RLE(0x00, end_of_list)
755 : HANDLE_DW_RLE(0x01, base_addressx)
756 : HANDLE_DW_RLE(0x02, startx_endx)
757 : HANDLE_DW_RLE(0x03, startx_length)
758 : HANDLE_DW_RLE(0x04, offset_pair)
759 : HANDLE_DW_RLE(0x05, base_address)
760 : HANDLE_DW_RLE(0x06, start_end)
761 : HANDLE_DW_RLE(0x07, start_length)
762 :
763 : // Call frame instruction encodings.
764 174 : HANDLE_DW_CFA(0x00, nop)
765 56 : HANDLE_DW_CFA(0x40, advance_loc)
766 68 : HANDLE_DW_CFA(0x80, offset)
767 7 : HANDLE_DW_CFA(0xc0, restore)
768 0 : HANDLE_DW_CFA(0x01, set_loc)
769 1 : HANDLE_DW_CFA(0x02, advance_loc1)
770 0 : HANDLE_DW_CFA(0x03, advance_loc2)
771 3 : HANDLE_DW_CFA(0x04, advance_loc4)
772 0 : HANDLE_DW_CFA(0x05, offset_extended)
773 0 : HANDLE_DW_CFA(0x06, restore_extended)
774 0 : HANDLE_DW_CFA(0x07, undefined)
775 0 : HANDLE_DW_CFA(0x08, same_value)
776 2 : HANDLE_DW_CFA(0x09, register)
777 0 : HANDLE_DW_CFA(0x0a, remember_state)
778 0 : HANDLE_DW_CFA(0x0b, restore_state)
779 43 : HANDLE_DW_CFA(0x0c, def_cfa)
780 22 : HANDLE_DW_CFA(0x0d, def_cfa_register)
781 32 : HANDLE_DW_CFA(0x0e, def_cfa_offset)
782 : // New in DWARF v3:
783 0 : HANDLE_DW_CFA(0x0f, def_cfa_expression)
784 0 : HANDLE_DW_CFA(0x10, expression)
785 0 : HANDLE_DW_CFA(0x11, offset_extended_sf)
786 0 : HANDLE_DW_CFA(0x12, def_cfa_sf)
787 0 : HANDLE_DW_CFA(0x13, def_cfa_offset_sf)
788 0 : HANDLE_DW_CFA(0x14, val_offset)
789 0 : HANDLE_DW_CFA(0x15, val_offset_sf)
790 0 : HANDLE_DW_CFA(0x16, val_expression)
791 : // Vendor extensions:
792 0 : HANDLE_DW_CFA(0x1d, MIPS_advance_loc8)
793 2 : HANDLE_DW_CFA(0x2d, GNU_window_save)
794 0 : HANDLE_DW_CFA(0x2e, GNU_args_size)
795 :
796 : // Apple Objective-C Property Attributes.
797 : // Keep this list in sync with clang's DeclSpec.h ObjCPropertyAttributeKind!
798 3 : HANDLE_DW_APPLE_PROPERTY(0x01, readonly)
799 0 : HANDLE_DW_APPLE_PROPERTY(0x02, getter)
800 17 : HANDLE_DW_APPLE_PROPERTY(0x04, assign)
801 22 : HANDLE_DW_APPLE_PROPERTY(0x08, readwrite)
802 2 : HANDLE_DW_APPLE_PROPERTY(0x10, retain)
803 2 : HANDLE_DW_APPLE_PROPERTY(0x20, copy)
804 3 : HANDLE_DW_APPLE_PROPERTY(0x40, nonatomic)
805 0 : HANDLE_DW_APPLE_PROPERTY(0x80, setter)
806 22 : HANDLE_DW_APPLE_PROPERTY(0x100, atomic)
807 0 : HANDLE_DW_APPLE_PROPERTY(0x200, weak)
808 2 : HANDLE_DW_APPLE_PROPERTY(0x400, strong)
809 17 : HANDLE_DW_APPLE_PROPERTY(0x800, unsafe_unretained)
810 4 : HANDLE_DW_APPLE_PROPERTY(0x1000, nullability)
811 2 : HANDLE_DW_APPLE_PROPERTY(0x2000, null_resettable)
812 2 : HANDLE_DW_APPLE_PROPERTY(0x4000, class)
813 :
814 : // DWARF v5 Unit Types.
815 9 : HANDLE_DW_UT(0x01, compile)
816 3 : HANDLE_DW_UT(0x02, type)
817 2 : HANDLE_DW_UT(0x03, partial)
818 3 : HANDLE_DW_UT(0x04, skeleton)
819 3 : HANDLE_DW_UT(0x05, split_compile)
820 4 : HANDLE_DW_UT(0x06, split_type)
821 :
822 : #undef HANDLE_DW_TAG
823 : #undef HANDLE_DW_AT
824 : #undef HANDLE_DW_FORM
825 : #undef HANDLE_DW_OP
826 : #undef HANDLE_DW_LANG
827 : #undef HANDLE_DW_ATE
828 : #undef HANDLE_DW_VIRTUALITY
829 : #undef HANDLE_DW_DEFAULTED
830 : #undef HANDLE_DW_CC
831 : #undef HANDLE_DW_LNS
832 : #undef HANDLE_DW_LNE
833 : #undef HANDLE_DW_LNCT
834 : #undef HANDLE_DW_MACRO
835 : #undef HANDLE_DW_RLE
836 : #undef HANDLE_DW_CFA
837 : #undef HANDLE_DW_APPLE_PROPERTY
838 : #undef HANDLE_DW_UT
|