1//===- llvm/Support/Dwarf.def - Dwarf definitions ---------------*- 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// Macros for running through Dwarf enumerators. 10// 11//===----------------------------------------------------------------------===// 12 13// TODO: Add other DW-based macros. 14#if !(defined HANDLE_DW_TAG || defined HANDLE_DW_AT || \ 15 defined HANDLE_DW_FORM || defined HANDLE_DW_OP || \ 16 defined HANDLE_DW_OP_LLVM_USEROP || defined HANDLE_DW_LANG || \ 17 defined HANDLE_DW_LNAME || 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_MACRO_GNU || \ 22 defined HANDLE_MACRO_FLAG || defined HANDLE_DW_RLE || \ 23 defined HANDLE_DW_LLE || \ 24 (defined HANDLE_DW_CFA && defined HANDLE_DW_CFA_PRED) || \ 25 defined HANDLE_DW_APPLE_PROPERTY || defined HANDLE_DW_UT || \ 26 defined HANDLE_DWARF_SECTION || defined HANDLE_DW_IDX || \ 27 defined HANDLE_DW_END || defined HANDLE_DW_SECT || \ 28 defined HANDLE_DW_APPLE_ENUM_KIND) 29#error "Missing macro definition of HANDLE_DW*" 30#endif 31 32#ifndef HANDLE_DW_TAG 33#define HANDLE_DW_TAG(ID, NAME, VERSION, VENDOR, KIND) 34#endif 35 36// Note that DW_KIND is not a DWARF concept, but rather a way for us to 37// generate a list of tags that belong together. 38#ifndef DW_KIND_NONE 39#define DW_KIND_NONE 0 40#endif 41 42#ifndef DW_KIND_TYPE 43#define DW_KIND_TYPE 1 44#endif 45 46#ifndef HANDLE_DW_AT 47#define HANDLE_DW_AT(ID, NAME, VERSION, VENDOR) 48#endif 49 50#ifndef HANDLE_DW_FORM 51#define HANDLE_DW_FORM(ID, NAME, VERSION, VENDOR) 52#endif 53 54#ifndef HANDLE_DW_OP 55#define HANDLE_DW_OP(ID, NAME, OPERANDS, ARITY, VERSION, VENDOR) 56#endif 57 58#ifndef HANDLE_DW_OP_LLVM_USEROP 59#define HANDLE_DW_OP_LLVM_USEROP(ID, NAME) 60#endif 61 62#ifndef HANDLE_DW_LANG 63#define HANDLE_DW_LANG(ID, NAME, LOWER_BOUND, VERSION, VENDOR) 64#endif 65 66#ifndef HANDLE_DW_LNAME 67#define HANDLE_DW_LNAME(ID, NAME, DESC, LOWER_BOUND) 68#endif 69 70#ifndef HANDLE_DW_ATE 71#define HANDLE_DW_ATE(ID, NAME, VERSION, VENDOR) 72#endif 73 74#ifndef HANDLE_DW_VIRTUALITY 75#define HANDLE_DW_VIRTUALITY(ID, NAME) 76#endif 77 78#ifndef HANDLE_DW_DEFAULTED 79#define HANDLE_DW_DEFAULTED(ID, NAME) 80#endif 81 82#ifndef HANDLE_DW_CC 83#define HANDLE_DW_CC(ID, NAME) 84#endif 85 86#ifndef HANDLE_DW_LNS 87#define HANDLE_DW_LNS(ID, NAME) 88#endif 89 90#ifndef HANDLE_DW_LNE 91#define HANDLE_DW_LNE(ID, NAME) 92#endif 93 94#ifndef HANDLE_DW_LNCT 95#define HANDLE_DW_LNCT(ID, NAME) 96#endif 97 98#ifndef HANDLE_DW_MACRO 99#define HANDLE_DW_MACRO(ID, NAME) 100#endif 101 102#ifndef HANDLE_DW_MACRO_GNU 103#define HANDLE_DW_MACRO_GNU(ID, NAME) 104#endif 105 106#ifndef HANDLE_MACRO_FLAG 107#define HANDLE_MACRO_FLAG(ID, NAME) 108#endif 109 110#ifndef HANDLE_DW_RLE 111#define HANDLE_DW_RLE(ID, NAME) 112#endif 113 114#ifndef HANDLE_DW_LLE 115#define HANDLE_DW_LLE(ID, NAME) 116#endif 117 118#ifndef HANDLE_DW_CFA 119#define HANDLE_DW_CFA(ID, NAME) 120#endif 121 122#ifndef HANDLE_DW_CFA_PRED 123#define HANDLE_DW_CFA_PRED(ID, NAME, PRED) 124#endif 125 126#ifndef HANDLE_DW_APPLE_PROPERTY 127#define HANDLE_DW_APPLE_PROPERTY(ID, NAME) 128#endif 129 130#ifndef HANDLE_DW_UT 131#define HANDLE_DW_UT(ID, NAME) 132#endif 133 134#ifndef HANDLE_DWARF_SECTION 135#define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME, OPTION) 136#endif 137 138#ifndef HANDLE_DW_IDX 139#define HANDLE_DW_IDX(ID, NAME) 140#endif 141 142#ifndef HANDLE_DW_END 143#define HANDLE_DW_END(ID, NAME) 144#endif 145 146#ifndef HANDLE_DW_SECT 147#define HANDLE_DW_SECT(ID, NAME) 148#endif 149 150#ifndef HANDLE_DW_APPLE_ENUM_KIND 151#define HANDLE_DW_APPLE_ENUM_KIND(ID, NAME) 152#endif 153 154HANDLE_DW_TAG(0x0000, null, 2, DWARF, DW_KIND_NONE) 155HANDLE_DW_TAG(0x0001, array_type, 2, DWARF, DW_KIND_TYPE) 156HANDLE_DW_TAG(0x0002, class_type, 2, DWARF, DW_KIND_TYPE) 157HANDLE_DW_TAG(0x0003, entry_point, 2, DWARF, DW_KIND_NONE) 158HANDLE_DW_TAG(0x0004, enumeration_type, 2, DWARF, DW_KIND_TYPE) 159HANDLE_DW_TAG(0x0005, formal_parameter, 2, DWARF, DW_KIND_NONE) 160HANDLE_DW_TAG(0x0008, imported_declaration, 2, DWARF, DW_KIND_NONE) 161HANDLE_DW_TAG(0x000a, label, 2, DWARF, DW_KIND_NONE) 162HANDLE_DW_TAG(0x000b, lexical_block, 2, DWARF, DW_KIND_NONE) 163HANDLE_DW_TAG(0x000d, member, 2, DWARF, DW_KIND_NONE) 164HANDLE_DW_TAG(0x000f, pointer_type, 2, DWARF, DW_KIND_TYPE) 165HANDLE_DW_TAG(0x0010, reference_type, 2, DWARF, DW_KIND_TYPE) 166HANDLE_DW_TAG(0x0011, compile_unit, 2, DWARF, DW_KIND_NONE) 167HANDLE_DW_TAG(0x0012, string_type, 2, DWARF, DW_KIND_TYPE) 168HANDLE_DW_TAG(0x0013, structure_type, 2, DWARF, DW_KIND_TYPE) 169HANDLE_DW_TAG(0x0015, subroutine_type, 2, DWARF, DW_KIND_TYPE) 170HANDLE_DW_TAG(0x0016, typedef, 2, DWARF, DW_KIND_TYPE) 171HANDLE_DW_TAG(0x0017, union_type, 2, DWARF, DW_KIND_TYPE) 172HANDLE_DW_TAG(0x0018, unspecified_parameters, 2, DWARF, DW_KIND_NONE) 173HANDLE_DW_TAG(0x0019, variant, 2, DWARF, DW_KIND_NONE) 174HANDLE_DW_TAG(0x001a, common_block, 2, DWARF, DW_KIND_NONE) 175HANDLE_DW_TAG(0x001b, common_inclusion, 2, DWARF, DW_KIND_NONE) 176HANDLE_DW_TAG(0x001c, inheritance, 2, DWARF, DW_KIND_NONE) 177HANDLE_DW_TAG(0x001d, inlined_subroutine, 2, DWARF, DW_KIND_NONE) 178HANDLE_DW_TAG(0x001e, module, 2, DWARF, DW_KIND_NONE) 179HANDLE_DW_TAG(0x001f, ptr_to_member_type, 2, DWARF, DW_KIND_TYPE) 180HANDLE_DW_TAG(0x0020, set_type, 2, DWARF, DW_KIND_TYPE) 181HANDLE_DW_TAG(0x0021, subrange_type, 2, DWARF, DW_KIND_TYPE) 182HANDLE_DW_TAG(0x0022, with_stmt, 2, DWARF, DW_KIND_NONE) 183HANDLE_DW_TAG(0x0023, access_declaration, 2, DWARF, DW_KIND_NONE) 184HANDLE_DW_TAG(0x0024, base_type, 2, DWARF, DW_KIND_TYPE) 185HANDLE_DW_TAG(0x0025, catch_block, 2, DWARF, DW_KIND_NONE) 186HANDLE_DW_TAG(0x0026, const_type, 2, DWARF, DW_KIND_TYPE) 187HANDLE_DW_TAG(0x0027, constant, 2, DWARF, DW_KIND_NONE) 188HANDLE_DW_TAG(0x0028, enumerator, 2, DWARF, DW_KIND_NONE) 189HANDLE_DW_TAG(0x0029, file_type, 2, DWARF, DW_KIND_TYPE) 190HANDLE_DW_TAG(0x002a, friend, 2, DWARF, DW_KIND_NONE) 191HANDLE_DW_TAG(0x002b, namelist, 2, DWARF, DW_KIND_NONE) 192HANDLE_DW_TAG(0x002c, namelist_item, 2, DWARF, DW_KIND_NONE) 193HANDLE_DW_TAG(0x002d, packed_type, 2, DWARF, DW_KIND_TYPE) 194HANDLE_DW_TAG(0x002e, subprogram, 2, DWARF, DW_KIND_NONE) 195HANDLE_DW_TAG(0x002f, template_type_parameter, 2, DWARF, DW_KIND_NONE) 196HANDLE_DW_TAG(0x0030, template_value_parameter, 2, DWARF, DW_KIND_NONE) 197HANDLE_DW_TAG(0x0031, thrown_type, 2, DWARF, DW_KIND_TYPE) 198HANDLE_DW_TAG(0x0032, try_block, 2, DWARF, DW_KIND_NONE) 199HANDLE_DW_TAG(0x0033, variant_part, 2, DWARF, DW_KIND_NONE) 200HANDLE_DW_TAG(0x0034, variable, 2, DWARF, DW_KIND_NONE) 201HANDLE_DW_TAG(0x0035, volatile_type, 2, DWARF, DW_KIND_TYPE) 202// New in DWARF v3: 203HANDLE_DW_TAG(0x0036, dwarf_procedure, 3, DWARF, DW_KIND_NONE) 204HANDLE_DW_TAG(0x0037, restrict_type, 3, DWARF, DW_KIND_TYPE) 205HANDLE_DW_TAG(0x0038, interface_type, 3, DWARF, DW_KIND_TYPE) 206HANDLE_DW_TAG(0x0039, namespace, 3, DWARF, DW_KIND_NONE) 207HANDLE_DW_TAG(0x003a, imported_module, 3, DWARF, DW_KIND_NONE) 208HANDLE_DW_TAG(0x003b, unspecified_type, 3, DWARF, DW_KIND_TYPE) 209HANDLE_DW_TAG(0x003c, partial_unit, 3, DWARF, DW_KIND_NONE) 210HANDLE_DW_TAG(0x003d, imported_unit, 3, DWARF, DW_KIND_NONE) 211HANDLE_DW_TAG(0x003f, condition, 3, DWARF, DW_KIND_NONE) 212HANDLE_DW_TAG(0x0040, shared_type, 3, DWARF, DW_KIND_TYPE) 213// New in DWARF v4: 214HANDLE_DW_TAG(0x0041, type_unit, 4, DWARF, DW_KIND_NONE) 215HANDLE_DW_TAG(0x0042, rvalue_reference_type, 4, DWARF, DW_KIND_TYPE) 216HANDLE_DW_TAG(0x0043, template_alias, 4, DWARF, DW_KIND_TYPE) 217// New in DWARF v5: 218HANDLE_DW_TAG(0x0044, coarray_type, 5, DWARF, DW_KIND_TYPE) 219HANDLE_DW_TAG(0x0045, generic_subrange, 5, DWARF, DW_KIND_NONE) 220HANDLE_DW_TAG(0x0046, dynamic_type, 5, DWARF, DW_KIND_TYPE) 221HANDLE_DW_TAG(0x0047, atomic_type, 5, DWARF, DW_KIND_TYPE) 222HANDLE_DW_TAG(0x0048, call_site, 5, DWARF, DW_KIND_NONE) 223HANDLE_DW_TAG(0x0049, call_site_parameter, 5, DWARF, DW_KIND_NONE) 224HANDLE_DW_TAG(0x004a, skeleton_unit, 5, DWARF, DW_KIND_NONE) 225HANDLE_DW_TAG(0x004b, immutable_type, 5, DWARF, DW_KIND_TYPE) 226// Vendor extensions: 227HANDLE_DW_TAG(0x4081, MIPS_loop, 0, MIPS, DW_KIND_NONE) 228// Conflicting: 229// HANDLE_DW_TAG(0x4081, HP_array_descriptor, 0, HP, DW_KIND_NONE) 230HANDLE_DW_TAG(0x4101, format_label, 0, GNU, DW_KIND_NONE) 231HANDLE_DW_TAG(0x4102, function_template, 0, GNU, DW_KIND_NONE) 232HANDLE_DW_TAG(0x4103, class_template, 0, GNU, DW_KIND_NONE) 233 234HANDLE_DW_TAG(0x4104, GNU_BINCL, 0, GNU, DW_KIND_NONE) 235HANDLE_DW_TAG(0x4105, GNU_EINCL, 0, GNU, DW_KIND_NONE) 236HANDLE_DW_TAG(0x4106, GNU_template_template_param, 0, GNU, DW_KIND_NONE) 237HANDLE_DW_TAG(0x4107, GNU_template_parameter_pack, 0, GNU, DW_KIND_NONE) 238HANDLE_DW_TAG(0x4108, GNU_formal_parameter_pack, 0, GNU, DW_KIND_NONE) 239HANDLE_DW_TAG(0x4109, GNU_call_site, 0, GNU, DW_KIND_NONE) 240HANDLE_DW_TAG(0x410a, GNU_call_site_parameter, 0, GNU, DW_KIND_NONE) 241 242HANDLE_DW_TAG(0x4200, APPLE_property, 0, APPLE, DW_KIND_NONE) 243 244HANDLE_DW_TAG(0x4201, SUN_function_template, 0, SUN, DW_KIND_NONE) 245HANDLE_DW_TAG(0x4202, SUN_class_template, 0, SUN, DW_KIND_NONE) 246HANDLE_DW_TAG(0x4203, SUN_struct_template, 0, SUN, DW_KIND_NONE) 247HANDLE_DW_TAG(0x4204, SUN_union_template, 0, SUN, DW_KIND_NONE) 248HANDLE_DW_TAG(0x4205, SUN_indirect_inheritance, 0, SUN, DW_KIND_NONE) 249HANDLE_DW_TAG(0x4206, SUN_codeflags, 0, SUN, DW_KIND_NONE) 250HANDLE_DW_TAG(0x4207, SUN_memop_info, 0, SUN, DW_KIND_NONE) 251HANDLE_DW_TAG(0x4208, SUN_omp_child_func, 0, SUN, DW_KIND_NONE) 252HANDLE_DW_TAG(0x4209, SUN_rtti_descriptor, 0, SUN, DW_KIND_NONE) 253HANDLE_DW_TAG(0x420a, SUN_dtor_info, 0, SUN, DW_KIND_NONE) 254HANDLE_DW_TAG(0x420b, SUN_dtor, 0, SUN, DW_KIND_NONE) 255HANDLE_DW_TAG(0x420c, SUN_f90_interface, 0, SUN, DW_KIND_NONE) 256HANDLE_DW_TAG(0x420d, SUN_fortran_vax_structure, 0, SUN, DW_KIND_NONE) 257HANDLE_DW_TAG(0x42ff, SUN_hi, 0, SUN, DW_KIND_NONE) 258 259// LLVM 260HANDLE_DW_TAG(0x4300, LLVM_ptrauth_type, 0, LLVM, DW_KIND_TYPE) 261 262// DSP-C/Starcore __circ, _rev 263HANDLE_DW_TAG(0x5101, ALTIUM_circ_type, 0, ALTIUM, DW_KIND_NONE) 264HANDLE_DW_TAG(0x5102, ALTIUM_mwa_circ_type, 0, ALTIUM, DW_KIND_NONE) 265HANDLE_DW_TAG(0x5103, ALTIUM_rev_carry_type, 0, ALTIUM, DW_KIND_NONE) 266// M16 __rom qualifier 267HANDLE_DW_TAG(0x5111, ALTIUM_rom, 0, ALTIUM, DW_KIND_NONE) 268 269// LLVM 270HANDLE_DW_TAG(0x6000, LLVM_annotation, 0, LLVM, DW_KIND_NONE) 271 272// Green Hills. 273HANDLE_DW_TAG(0x8004, GHS_namespace, 0, GHS, DW_KIND_NONE) 274HANDLE_DW_TAG(0x8005, GHS_using_namespace, 0, GHS, DW_KIND_NONE) 275HANDLE_DW_TAG(0x8006, GHS_using_declaration, 0, GHS, DW_KIND_NONE) 276HANDLE_DW_TAG(0x8007, GHS_template_templ_param, 0, GHS, DW_KIND_NONE) 277 278// Unified Parallel C. 279HANDLE_DW_TAG(0x8765, UPC_shared_type, 0, UPC, DW_KIND_NONE) 280HANDLE_DW_TAG(0x8766, UPC_strict_type, 0, UPC, DW_KIND_NONE) 281HANDLE_DW_TAG(0x8767, UPC_relaxed, 0, UPC, DW_KIND_NONE) 282 283HANDLE_DW_TAG(0xa000, PGI_kanji_type, 0, PGI, DW_KIND_NONE) 284HANDLE_DW_TAG(0xa020, PGI_interface_block, 0, PGI, DW_KIND_NONE) 285 286HANDLE_DW_TAG(0xb000, BORLAND_property, 0, BORLAND, DW_KIND_NONE) 287HANDLE_DW_TAG(0xb001, BORLAND_Delphi_string, 0, BORLAND, DW_KIND_TYPE) 288HANDLE_DW_TAG(0xb002, BORLAND_Delphi_dynamic_array, 0, BORLAND, DW_KIND_TYPE) 289HANDLE_DW_TAG(0xb003, BORLAND_Delphi_set, 0, BORLAND, DW_KIND_TYPE) 290HANDLE_DW_TAG(0xb004, BORLAND_Delphi_variant, 0, BORLAND, DW_KIND_TYPE) 291 292// Attributes. 293HANDLE_DW_AT(0x01, sibling, 2, DWARF) 294HANDLE_DW_AT(0x02, location, 2, DWARF) 295HANDLE_DW_AT(0x03, name, 2, DWARF) 296HANDLE_DW_AT(0x09, ordering, 2, DWARF) 297HANDLE_DW_AT(0x0b, byte_size, 2, DWARF) 298HANDLE_DW_AT(0x0c, bit_offset, 2, DWARF) 299HANDLE_DW_AT(0x0d, bit_size, 2, DWARF) 300HANDLE_DW_AT(0x10, stmt_list, 2, DWARF) 301HANDLE_DW_AT(0x11, low_pc, 2, DWARF) 302HANDLE_DW_AT(0x12, high_pc, 2, DWARF) 303HANDLE_DW_AT(0x13, language, 2, DWARF) 304HANDLE_DW_AT(0x15, discr, 2, DWARF) 305HANDLE_DW_AT(0x16, discr_value, 2, DWARF) 306HANDLE_DW_AT(0x17, visibility, 2, DWARF) 307HANDLE_DW_AT(0x18, import, 2, DWARF) 308HANDLE_DW_AT(0x19, string_length, 2, DWARF) 309HANDLE_DW_AT(0x1a, common_reference, 2, DWARF) 310HANDLE_DW_AT(0x1b, comp_dir, 2, DWARF) 311HANDLE_DW_AT(0x1c, const_value, 2, DWARF) 312HANDLE_DW_AT(0x1d, containing_type, 2, DWARF) 313HANDLE_DW_AT(0x1e, default_value, 2, DWARF) 314HANDLE_DW_AT(0x20, inline, 2, DWARF) 315HANDLE_DW_AT(0x21, is_optional, 2, DWARF) 316HANDLE_DW_AT(0x22, lower_bound, 2, DWARF) 317HANDLE_DW_AT(0x25, producer, 2, DWARF) 318HANDLE_DW_AT(0x27, prototyped, 2, DWARF) 319HANDLE_DW_AT(0x2a, return_addr, 2, DWARF) 320HANDLE_DW_AT(0x2c, start_scope, 2, DWARF) 321HANDLE_DW_AT(0x2e, bit_stride, 2, DWARF) 322HANDLE_DW_AT(0x2f, upper_bound, 2, DWARF) 323HANDLE_DW_AT(0x31, abstract_origin, 2, DWARF) 324HANDLE_DW_AT(0x32, accessibility, 2, DWARF) 325HANDLE_DW_AT(0x33, address_class, 2, DWARF) 326HANDLE_DW_AT(0x34, artificial, 2, DWARF) 327HANDLE_DW_AT(0x35, base_types, 2, DWARF) 328HANDLE_DW_AT(0x36, calling_convention, 2, DWARF) 329HANDLE_DW_AT(0x37, count, 2, DWARF) 330HANDLE_DW_AT(0x38, data_member_location, 2, DWARF) 331HANDLE_DW_AT(0x39, decl_column, 2, DWARF) 332HANDLE_DW_AT(0x3a, decl_file, 2, DWARF) 333HANDLE_DW_AT(0x3b, decl_line, 2, DWARF) 334HANDLE_DW_AT(0x3c, declaration, 2, DWARF) 335HANDLE_DW_AT(0x3d, discr_list, 2, DWARF) 336HANDLE_DW_AT(0x3e, encoding, 2, DWARF) 337HANDLE_DW_AT(0x3f, external, 2, DWARF) 338HANDLE_DW_AT(0x40, frame_base, 2, DWARF) 339HANDLE_DW_AT(0x41, friend, 2, DWARF) 340HANDLE_DW_AT(0x42, identifier_case, 2, DWARF) 341HANDLE_DW_AT(0x43, macro_info, 2, DWARF) 342HANDLE_DW_AT(0x44, namelist_item, 2, DWARF) 343HANDLE_DW_AT(0x45, priority, 2, DWARF) 344HANDLE_DW_AT(0x46, segment, 2, DWARF) 345HANDLE_DW_AT(0x47, specification, 2, DWARF) 346HANDLE_DW_AT(0x48, static_link, 2, DWARF) 347HANDLE_DW_AT(0x49, type, 2, DWARF) 348HANDLE_DW_AT(0x4a, use_location, 2, DWARF) 349HANDLE_DW_AT(0x4b, variable_parameter, 2, DWARF) 350HANDLE_DW_AT(0x4c, virtuality, 2, DWARF) 351HANDLE_DW_AT(0x4d, vtable_elem_location, 2, DWARF) 352// New in DWARF v3: 353HANDLE_DW_AT(0x4e, allocated, 3, DWARF) 354HANDLE_DW_AT(0x4f, associated, 3, DWARF) 355HANDLE_DW_AT(0x50, data_location, 3, DWARF) 356HANDLE_DW_AT(0x51, byte_stride, 3, DWARF) 357HANDLE_DW_AT(0x52, entry_pc, 3, DWARF) 358HANDLE_DW_AT(0x53, use_UTF8, 3, DWARF) 359HANDLE_DW_AT(0x54, extension, 3, DWARF) 360HANDLE_DW_AT(0x55, ranges, 3, DWARF) 361HANDLE_DW_AT(0x56, trampoline, 3, DWARF) 362HANDLE_DW_AT(0x57, call_column, 3, DWARF) 363HANDLE_DW_AT(0x58, call_file, 3, DWARF) 364HANDLE_DW_AT(0x59, call_line, 3, DWARF) 365HANDLE_DW_AT(0x5a, description, 3, DWARF) 366HANDLE_DW_AT(0x5b, binary_scale, 3, DWARF) 367HANDLE_DW_AT(0x5c, decimal_scale, 3, DWARF) 368HANDLE_DW_AT(0x5d, small, 3, DWARF) 369HANDLE_DW_AT(0x5e, decimal_sign, 3, DWARF) 370HANDLE_DW_AT(0x5f, digit_count, 3, DWARF) 371HANDLE_DW_AT(0x60, picture_string, 3, DWARF) 372HANDLE_DW_AT(0x61, mutable, 3, DWARF) 373HANDLE_DW_AT(0x62, threads_scaled, 3, DWARF) 374HANDLE_DW_AT(0x63, explicit, 3, DWARF) 375HANDLE_DW_AT(0x64, object_pointer, 3, DWARF) 376HANDLE_DW_AT(0x65, endianity, 3, DWARF) 377HANDLE_DW_AT(0x66, elemental, 3, DWARF) 378HANDLE_DW_AT(0x67, pure, 3, DWARF) 379HANDLE_DW_AT(0x68, recursive, 3, DWARF) 380// New in DWARF v4: 381HANDLE_DW_AT(0x69, signature, 4, DWARF) 382HANDLE_DW_AT(0x6a, main_subprogram, 4, DWARF) 383HANDLE_DW_AT(0x6b, data_bit_offset, 4, DWARF) 384HANDLE_DW_AT(0x6c, const_expr, 4, DWARF) 385HANDLE_DW_AT(0x6d, enum_class, 4, DWARF) 386HANDLE_DW_AT(0x6e, linkage_name, 4, DWARF) 387// New in DWARF v5: 388HANDLE_DW_AT(0x6f, string_length_bit_size, 5, DWARF) 389HANDLE_DW_AT(0x70, string_length_byte_size, 5, DWARF) 390HANDLE_DW_AT(0x71, rank, 5, DWARF) 391HANDLE_DW_AT(0x72, str_offsets_base, 5, DWARF) 392HANDLE_DW_AT(0x73, addr_base, 5, DWARF) 393HANDLE_DW_AT(0x74, rnglists_base, 5, DWARF) 394HANDLE_DW_AT(0x75, dwo_id, 0, DWARF) ///< Retracted from DWARF v5. 395HANDLE_DW_AT(0x76, dwo_name, 5, DWARF) 396HANDLE_DW_AT(0x77, reference, 5, DWARF) 397HANDLE_DW_AT(0x78, rvalue_reference, 5, DWARF) 398HANDLE_DW_AT(0x79, macros, 5, DWARF) 399HANDLE_DW_AT(0x7a, call_all_calls, 5, DWARF) 400HANDLE_DW_AT(0x7b, call_all_source_calls, 5, DWARF) 401HANDLE_DW_AT(0x7c, call_all_tail_calls, 5, DWARF) 402HANDLE_DW_AT(0x7d, call_return_pc, 5, DWARF) 403HANDLE_DW_AT(0x7e, call_value, 5, DWARF) 404HANDLE_DW_AT(0x7f, call_origin, 5, DWARF) 405HANDLE_DW_AT(0x80, call_parameter, 5, DWARF) 406HANDLE_DW_AT(0x81, call_pc, 5, DWARF) 407HANDLE_DW_AT(0x82, call_tail_call, 5, DWARF) 408HANDLE_DW_AT(0x83, call_target, 5, DWARF) 409HANDLE_DW_AT(0x84, call_target_clobbered, 5, DWARF) 410HANDLE_DW_AT(0x85, call_data_location, 5, DWARF) 411HANDLE_DW_AT(0x86, call_data_value, 5, DWARF) 412HANDLE_DW_AT(0x87, noreturn, 5, DWARF) 413HANDLE_DW_AT(0x88, alignment, 5, DWARF) 414HANDLE_DW_AT(0x89, export_symbols, 5, DWARF) 415HANDLE_DW_AT(0x8a, deleted, 5, DWARF) 416HANDLE_DW_AT(0x8b, defaulted, 5, DWARF) 417HANDLE_DW_AT(0x8c, loclists_base, 5, DWARF) 418 419// Vendor extensions: 420HANDLE_DW_AT(0x806, GHS_namespace_alias, 0, GHS) 421HANDLE_DW_AT(0x807, GHS_using_namespace, 0, GHS) 422HANDLE_DW_AT(0x808, GHS_using_declaration, 0, GHS) 423 424HANDLE_DW_AT(0x2001, MIPS_fde, 0, MIPS) 425HANDLE_DW_AT(0x2002, MIPS_loop_begin, 0, MIPS) 426HANDLE_DW_AT(0x2003, MIPS_tail_loop_begin, 0, MIPS) 427HANDLE_DW_AT(0x2004, MIPS_epilog_begin, 0, MIPS) 428HANDLE_DW_AT(0x2005, MIPS_loop_unroll_factor, 0, MIPS) 429HANDLE_DW_AT(0x2006, MIPS_software_pipeline_depth, 0, MIPS) 430HANDLE_DW_AT(0x2007, MIPS_linkage_name, 0, MIPS) 431// Conflicting: 432// HANDLE_DW_AT(0x2007, GHS_mangled, 0, GHS) 433HANDLE_DW_AT(0x2008, MIPS_stride, 0, MIPS) 434HANDLE_DW_AT(0x2009, MIPS_abstract_name, 0, MIPS) 435HANDLE_DW_AT(0x200a, MIPS_clone_origin, 0, MIPS) 436HANDLE_DW_AT(0x200b, MIPS_has_inlines, 0, MIPS) 437HANDLE_DW_AT(0x200c, MIPS_stride_byte, 0, MIPS) 438HANDLE_DW_AT(0x200d, MIPS_stride_elem, 0, MIPS) 439HANDLE_DW_AT(0x200e, MIPS_ptr_dopetype, 0, MIPS) 440HANDLE_DW_AT(0x200f, MIPS_allocatable_dopetype, 0, MIPS) 441HANDLE_DW_AT(0x2010, MIPS_assumed_shape_dopetype, 0, MIPS) 442 443// This one appears to have only been implemented by Open64 for 444// fortran and may conflict with other extensions. 445HANDLE_DW_AT(0x2011, MIPS_assumed_size, 0, MIPS) 446 447// HP 0x2001-0x2011 conflict with MIPS 448// HANDLE_DW_AT(0x2001, HP_unmodifiable, 0, HP) 449// HANDLE_DW_AT(0x2005, HP_prologue, 0, HP) 450// HANDLE_DW_AT(0x2008, HP_epilogue, 0, HP) 451// HANDLE_DW_AT(0x2010, HP_actuals_stmt_list, 0, HP) 452// HANDLE_DW_AT(0x2011, HP_proc_per_section, 0, HP) 453 454HANDLE_DW_AT(0x2012, HP_raw_data_ptr, 0, HP) 455HANDLE_DW_AT(0x2013, HP_pass_by_reference, 0, HP) 456HANDLE_DW_AT(0x2014, HP_opt_level, 0, HP) 457HANDLE_DW_AT(0x2015, HP_prof_version_id, 0, HP) 458HANDLE_DW_AT(0x2016, HP_opt_flags, 0, HP) 459HANDLE_DW_AT(0x2017, HP_cold_region_low_pc, 0, HP) 460HANDLE_DW_AT(0x2018, HP_cold_region_high_pc, 0, HP) 461HANDLE_DW_AT(0x2019, HP_all_variables_modifiable, 0, HP) 462HANDLE_DW_AT(0x201a, HP_linkage_name, 0, HP) 463HANDLE_DW_AT(0x201b, HP_prof_flags, 0, HP) 464HANDLE_DW_AT(0x201f, HP_unit_name, 0, HP) 465HANDLE_DW_AT(0x2020, HP_unit_size, 0, HP) 466HANDLE_DW_AT(0x2021, HP_widened_byte_size, 0, HP) 467HANDLE_DW_AT(0x2022, HP_definition_points, 0, HP) 468HANDLE_DW_AT(0x2023, HP_default_location, 0, HP) 469HANDLE_DW_AT(0x2029, HP_is_result_param, 0, HP) 470 471// COMPAQ/HP Conflicts with MIPS/HP 0x2001 - 0x2005 472// HANDLE_DW_AT(0x2001, CPQ_discontig_ranges, 0, COMPAQ) 473// HANDLE_DW_AT(0x2002, CPQ_semantic_events, 0, COMPAQ) 474// HANDLE_DW_AT(0x2003, CPQ_split_lifetimes_var, 0, COMPAQ) 475// HANDLE_DW_AT(0x2004, CPQ_split_lifetimes_rtn, 0, COMPAQ) 476// HANDLE_DW_AT(0x2005, CPQ_prologue_length, 0, COMPAQ) 477 478HANDLE_DW_AT(0x2026, INTEL_other_endian, 0, INTEL) 479 480// Green Hills. 481HANDLE_DW_AT(0x2083, GHS_rsm, 0, GHS) 482HANDLE_DW_AT(0x2085, GHS_frsm, 0, GHS) 483HANDLE_DW_AT(0x2086, GHS_frames, 0, GHS) 484HANDLE_DW_AT(0x2087, GHS_rso, 0, GHS) 485HANDLE_DW_AT(0x2092, GHS_subcpu, 0, GHS) 486HANDLE_DW_AT(0x2093, GHS_lbrace_line, 0, GHS) 487 488// GNU extensions 489HANDLE_DW_AT(0x2101, sf_names, 0, GNU) 490HANDLE_DW_AT(0x2102, src_info, 0, GNU) 491HANDLE_DW_AT(0x2103, mac_info, 0, GNU) 492HANDLE_DW_AT(0x2104, src_coords, 0, GNU) 493HANDLE_DW_AT(0x2105, body_begin, 0, GNU) 494HANDLE_DW_AT(0x2106, body_end, 0, GNU) 495HANDLE_DW_AT(0x2107, GNU_vector, 0, GNU) 496HANDLE_DW_AT(0x210f, GNU_odr_signature, 0, GNU) 497HANDLE_DW_AT(0x2110, GNU_template_name, 0, GNU) 498HANDLE_DW_AT(0x2111, GNU_call_site_value, 0, GNU) 499HANDLE_DW_AT(0x2112, GNU_call_site_data_value, 0, GNU) 500HANDLE_DW_AT(0x2113, GNU_call_site_target, 0, GNU) 501HANDLE_DW_AT(0x2114, GNU_call_site_target_clobbered, 0, GNU) 502HANDLE_DW_AT(0x2115, GNU_tail_call, 0, GNU) 503HANDLE_DW_AT(0x2116, GNU_all_tail_call_sites, 0, GNU) 504HANDLE_DW_AT(0x2117, GNU_all_call_sites, 0, GNU) 505HANDLE_DW_AT(0x2118, GNU_all_source_call_sites, 0, GNU) 506HANDLE_DW_AT(0x2119, GNU_macros, 0, GNU) 507HANDLE_DW_AT(0x211a, GNU_deleted, 0, GNU) 508// Extensions for Fission proposal. 509HANDLE_DW_AT(0x2130, GNU_dwo_name, 0, GNU) 510HANDLE_DW_AT(0x2131, GNU_dwo_id, 0, GNU) 511HANDLE_DW_AT(0x2132, GNU_ranges_base, 0, GNU) 512HANDLE_DW_AT(0x2133, GNU_addr_base, 0, GNU) 513HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU) 514HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU) 515HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU) 516HANDLE_DW_AT(0x2137, GNU_locviews, 0, GNU) 517HANDLE_DW_AT(0x2138, GNU_entry_view, 0, GNU) 518 519HANDLE_DW_AT(0x2201, SUN_template, 0, SUN) 520// Conflicting: 521// HANDLE_DW_AT(0x2201, VMS_rtnbeg_pd_address); 522 523HANDLE_DW_AT(0x2202, SUN_alignment, 0, SUN) 524HANDLE_DW_AT(0x2203, SUN_vtable, 0, SUN) 525HANDLE_DW_AT(0x2204, SUN_count_guarantee, 0, SUN) 526HANDLE_DW_AT(0x2205, SUN_command_line, 0, SUN) 527HANDLE_DW_AT(0x2206, SUN_vbase, 0, SUN) 528HANDLE_DW_AT(0x2207, SUN_compile_options, 0, SUN) 529HANDLE_DW_AT(0x2208, SUN_language, 0, SUN) 530HANDLE_DW_AT(0x2209, SUN_browser_file, 0, SUN) 531HANDLE_DW_AT(0x2210, SUN_vtable_abi, 0, SUN) 532HANDLE_DW_AT(0x2211, SUN_func_offsets, 0, SUN) 533HANDLE_DW_AT(0x2212, SUN_cf_kind, 0, SUN) 534HANDLE_DW_AT(0x2213, SUN_vtable_index, 0, SUN) 535HANDLE_DW_AT(0x2214, SUN_omp_tpriv_addr, 0, SUN) 536HANDLE_DW_AT(0x2215, SUN_omp_child_func, 0, SUN) 537HANDLE_DW_AT(0x2216, SUN_func_offset, 0, SUN) 538HANDLE_DW_AT(0x2217, SUN_memop_type_ref, 0, SUN) 539HANDLE_DW_AT(0x2218, SUN_profile_id, 0, SUN) 540HANDLE_DW_AT(0x2219, SUN_memop_signature, 0, SUN) 541 542HANDLE_DW_AT(0x2220, SUN_obj_dir, 0, SUN) 543HANDLE_DW_AT(0x2221, SUN_obj_file, 0, SUN) 544HANDLE_DW_AT(0x2222, SUN_original_name, 0, SUN) 545HANDLE_DW_AT(0x2223, SUN_hwcprof_signature, 0, SUN) 546HANDLE_DW_AT(0x2224, SUN_amd64_parmdump, 0, SUN) 547HANDLE_DW_AT(0x2225, SUN_part_link_name, 0, SUN) 548HANDLE_DW_AT(0x2226, SUN_link_name, 0, SUN) 549HANDLE_DW_AT(0x2227, SUN_pass_with_const, 0, SUN) 550HANDLE_DW_AT(0x2228, SUN_return_with_const, 0, SUN) 551HANDLE_DW_AT(0x2229, SUN_import_by_name, 0, SUN) 552HANDLE_DW_AT(0x222a, SUN_90_pointer, 0, SUN) 553HANDLE_DW_AT(0x222b, SUN_pass_by_ref, 0, SUN) 554HANDLE_DW_AT(0x222c, SUN_f90_allocatable, 0, SUN) 555HANDLE_DW_AT(0x222d, SUN_f90_assumed_shape_array, 0, SUN) 556HANDLE_DW_AT(0x222e, SUN_c_vla, 0, SUN) 557HANDLE_DW_AT(0x2230, SUN_return_value_ptr, 0, SUN) 558HANDLE_DW_AT(0x2231, SUN_dtor_start, 0, SUN) 559HANDLE_DW_AT(0x2232, SUN_dtor_length, 0, SUN) 560HANDLE_DW_AT(0x2233, SUN_dtor_state_initial, 0, SUN) 561HANDLE_DW_AT(0x2234, SUN_dtor_state_final, 0, SUN) 562HANDLE_DW_AT(0x2235, SUN_dtor_state_deltas, 0, SUN) 563HANDLE_DW_AT(0x2236, SUN_import_by_lname, 0, SUN) 564HANDLE_DW_AT(0x2237, SUN_f90_use_only, 0, SUN) 565HANDLE_DW_AT(0x2238, SUN_namelist_spec, 0, SUN) 566HANDLE_DW_AT(0x2239, SUN_is_omp_child_func, 0, SUN) 567HANDLE_DW_AT(0x223a, SUN_fortran_main_alias, 0, SUN) 568HANDLE_DW_AT(0x223b, SUN_fortran_based, 0, SUN) 569 570HANDLE_DW_AT(0x2300, ALTIUM_loclist, 0, ALTIUM) 571 572HANDLE_DW_AT(0x2301, use_GNAT_descriptive_type, 0, GNU) 573HANDLE_DW_AT(0x2302, GNAT_descriptive_type, 0, GNU) 574HANDLE_DW_AT(0x2303, GNU_numerator, 0, GNU) 575HANDLE_DW_AT(0x2304, GNU_denominator, 0, GNU) 576HANDLE_DW_AT(0x2305, GNU_bias, 0, GNU) 577 578HANDLE_DW_AT(0x2900, GO_kind, 0, GO) 579HANDLE_DW_AT(0x2901, GO_key, 0, GO) 580HANDLE_DW_AT(0x2902, GO_elem, 0, GO) 581HANDLE_DW_AT(0x2903, GO_embedded_field, 0, GO) 582HANDLE_DW_AT(0x2904, GO_runtime_type, 0, GO) 583 584HANDLE_DW_AT(0x3210, UPC_threads_scaled, 0, UPC) 585 586HANDLE_DW_AT(0x393e, IBM_wsa_addr, 0, IBM) 587HANDLE_DW_AT(0x393f, IBM_home_location, 0, IBM) 588HANDLE_DW_AT(0x3940, IBM_alt_srcview, 0, IBM) 589 590// PGI extensions (STMicroelectronics) 591HANDLE_DW_AT(0x3a00, PGI_lbase, 0, PGI) 592HANDLE_DW_AT(0x3a01, PGI_soffset, 0, PGI) 593HANDLE_DW_AT(0x3a02, PGI_lstride, 0, PGI) 594 595// Borland extensions. 596HANDLE_DW_AT(0x3b11, BORLAND_property_read, 0, BORLAND) 597HANDLE_DW_AT(0x3b12, BORLAND_property_write, 0, BORLAND) 598HANDLE_DW_AT(0x3b13, BORLAND_property_implements, 0, BORLAND) 599HANDLE_DW_AT(0x3b14, BORLAND_property_index, 0, BORLAND) 600HANDLE_DW_AT(0x3b15, BORLAND_property_default, 0, BORLAND) 601HANDLE_DW_AT(0x3b20, BORLAND_Delphi_unit, 0, BORLAND) 602HANDLE_DW_AT(0x3b21, BORLAND_Delphi_class, 0, BORLAND) 603HANDLE_DW_AT(0x3b22, BORLAND_Delphi_record, 0, BORLAND) 604HANDLE_DW_AT(0x3b23, BORLAND_Delphi_metaclass, 0, BORLAND) 605HANDLE_DW_AT(0x3b24, BORLAND_Delphi_constructor, 0, BORLAND) 606HANDLE_DW_AT(0x3b25, BORLAND_Delphi_destructor, 0, BORLAND) 607HANDLE_DW_AT(0x3b26, BORLAND_Delphi_anonymous_method, 0, BORLAND) 608HANDLE_DW_AT(0x3b27, BORLAND_Delphi_interface, 0, BORLAND) 609HANDLE_DW_AT(0x3b28, BORLAND_Delphi_ABI, 0, BORLAND) 610HANDLE_DW_AT(0x3b29, BORLAND_Delphi_return, 0, BORLAND) 611HANDLE_DW_AT(0x3b30, BORLAND_Delphi_frameptr, 0, BORLAND) 612HANDLE_DW_AT(0x3b31, BORLAND_closure, 0, BORLAND) 613// LLVM project extensions. 614HANDLE_DW_AT(0x3e00, LLVM_include_path, 0, LLVM) 615HANDLE_DW_AT(0x3e01, LLVM_config_macros, 0, LLVM) 616HANDLE_DW_AT(0x3e02, LLVM_sysroot, 0, LLVM) 617HANDLE_DW_AT(0x3e03, LLVM_tag_offset, 0, LLVM) 618HANDLE_DW_AT(0x3e04, LLVM_ptrauth_key, 0, LLVM) 619HANDLE_DW_AT(0x3e05, LLVM_ptrauth_address_discriminated, 0, LLVM) 620HANDLE_DW_AT(0x3e06, LLVM_ptrauth_extra_discriminator, 0, LLVM) 621HANDLE_DW_AT(0x3e07, LLVM_apinotes, 0, APPLE) 622HANDLE_DW_AT(0x3e08, LLVM_ptrauth_isa_pointer, 0, LLVM) 623HANDLE_DW_AT(0x3e09, LLVM_ptrauth_authenticates_null_values, 0, LLVM) 624HANDLE_DW_AT(0x3e0a, LLVM_ptrauth_authentication_mode, 0, LLVM) 625HANDLE_DW_AT(0x3e0b, LLVM_num_extra_inhabitants, 0, LLVM) 626HANDLE_DW_AT(0x3e0c, LLVM_stmt_sequence, 0, LLVM) 627HANDLE_DW_AT(0x3e0d, LLVM_coro_suspend_idx, 0, LLVM) 628 629// Apple extensions. 630 631HANDLE_DW_AT(0x3fe1, APPLE_optimized, 0, APPLE) 632HANDLE_DW_AT(0x3fe2, APPLE_flags, 0, APPLE) 633HANDLE_DW_AT(0x3fe3, APPLE_isa, 0, APPLE) 634HANDLE_DW_AT(0x3fe4, APPLE_block, 0, APPLE) 635HANDLE_DW_AT(0x3fe5, APPLE_major_runtime_vers, 0, APPLE) 636HANDLE_DW_AT(0x3fe6, APPLE_runtime_class, 0, APPLE) 637HANDLE_DW_AT(0x3fe7, APPLE_omit_frame_ptr, 0, APPLE) 638HANDLE_DW_AT(0x3fe8, APPLE_property_name, 0, APPLE) 639HANDLE_DW_AT(0x3fe9, APPLE_property_getter, 0, APPLE) 640HANDLE_DW_AT(0x3fea, APPLE_property_setter, 0, APPLE) 641HANDLE_DW_AT(0x3feb, APPLE_property_attribute, 0, APPLE) 642HANDLE_DW_AT(0x3fec, APPLE_objc_complete_type, 0, APPLE) 643HANDLE_DW_AT(0x3fed, APPLE_property, 0, APPLE) 644HANDLE_DW_AT(0x3fee, APPLE_objc_direct, 0, APPLE) 645HANDLE_DW_AT(0x3fef, APPLE_sdk, 0, APPLE) 646HANDLE_DW_AT(0x3ff0, APPLE_origin, 0, APPLE) 647HANDLE_DW_AT(0x3ff1, APPLE_enum_kind, 0, APPLE) 648 649// Attribute form encodings. 650HANDLE_DW_FORM(0x01, addr, 2, DWARF) 651HANDLE_DW_FORM(0x03, block2, 2, DWARF) 652HANDLE_DW_FORM(0x04, block4, 2, DWARF) 653HANDLE_DW_FORM(0x05, data2, 2, DWARF) 654HANDLE_DW_FORM(0x06, data4, 2, DWARF) 655HANDLE_DW_FORM(0x07, data8, 2, DWARF) 656HANDLE_DW_FORM(0x08, string, 2, DWARF) 657HANDLE_DW_FORM(0x09, block, 2, DWARF) 658HANDLE_DW_FORM(0x0a, block1, 2, DWARF) 659HANDLE_DW_FORM(0x0b, data1, 2, DWARF) 660HANDLE_DW_FORM(0x0c, flag, 2, DWARF) 661HANDLE_DW_FORM(0x0d, sdata, 2, DWARF) 662HANDLE_DW_FORM(0x0e, strp, 2, DWARF) 663HANDLE_DW_FORM(0x0f, udata, 2, DWARF) 664HANDLE_DW_FORM(0x10, ref_addr, 2, DWARF) 665HANDLE_DW_FORM(0x11, ref1, 2, DWARF) 666HANDLE_DW_FORM(0x12, ref2, 2, DWARF) 667HANDLE_DW_FORM(0x13, ref4, 2, DWARF) 668HANDLE_DW_FORM(0x14, ref8, 2, DWARF) 669HANDLE_DW_FORM(0x15, ref_udata, 2, DWARF) 670HANDLE_DW_FORM(0x16, indirect, 2, DWARF) 671// New in DWARF v4: 672HANDLE_DW_FORM(0x17, sec_offset, 4, DWARF) 673HANDLE_DW_FORM(0x18, exprloc, 4, DWARF) 674HANDLE_DW_FORM(0x19, flag_present, 4, DWARF) 675// This was defined out of sequence. 676HANDLE_DW_FORM(0x20, ref_sig8, 4, DWARF) 677// New in DWARF v5: 678HANDLE_DW_FORM(0x1a, strx, 5, DWARF) 679HANDLE_DW_FORM(0x1b, addrx, 5, DWARF) 680HANDLE_DW_FORM(0x1c, ref_sup4, 5, DWARF) 681HANDLE_DW_FORM(0x1d, strp_sup, 5, DWARF) 682HANDLE_DW_FORM(0x1e, data16, 5, DWARF) 683HANDLE_DW_FORM(0x1f, line_strp, 5, DWARF) 684HANDLE_DW_FORM(0x21, implicit_const, 5, DWARF) 685HANDLE_DW_FORM(0x22, loclistx, 5, DWARF) 686HANDLE_DW_FORM(0x23, rnglistx, 5, DWARF) 687HANDLE_DW_FORM(0x24, ref_sup8, 5, DWARF) 688HANDLE_DW_FORM(0x25, strx1, 5, DWARF) 689HANDLE_DW_FORM(0x26, strx2, 5, DWARF) 690HANDLE_DW_FORM(0x27, strx3, 5, DWARF) 691HANDLE_DW_FORM(0x28, strx4, 5, DWARF) 692HANDLE_DW_FORM(0x29, addrx1, 5, DWARF) 693HANDLE_DW_FORM(0x2a, addrx2, 5, DWARF) 694HANDLE_DW_FORM(0x2b, addrx3, 5, DWARF) 695HANDLE_DW_FORM(0x2c, addrx4, 5, DWARF) 696// Extensions for Fission proposal 697HANDLE_DW_FORM(0x1f01, GNU_addr_index, 0, GNU) 698HANDLE_DW_FORM(0x1f02, GNU_str_index, 0, GNU) 699// Alternate debug sections proposal (output of "dwz" tool). 700HANDLE_DW_FORM(0x1f20, GNU_ref_alt, 0, GNU) 701HANDLE_DW_FORM(0x1f21, GNU_strp_alt, 0, GNU) 702// LLVM addr+offset extension 703HANDLE_DW_FORM(0x2001, LLVM_addrx_offset, 0, LLVM) 704 705// DWARF Expression operators. 706HANDLE_DW_OP(0x03, addr, 1, 0, 2, DWARF) 707HANDLE_DW_OP(0x06, deref, 0, 1, 2, DWARF) 708HANDLE_DW_OP(0x08, const1u, 1, 0, 2, DWARF) 709HANDLE_DW_OP(0x09, const1s, 1, 0, 2, DWARF) 710HANDLE_DW_OP(0x0a, const2u, 1, 0, 2, DWARF) 711HANDLE_DW_OP(0x0b, const2s, 1, 0, 2, DWARF) 712HANDLE_DW_OP(0x0c, const4u, 1, 0, 2, DWARF) 713HANDLE_DW_OP(0x0d, const4s, 1, 0, 2, DWARF) 714HANDLE_DW_OP(0x0e, const8u, 1, 0, 2, DWARF) 715HANDLE_DW_OP(0x0f, const8s, 1, 0, 2, DWARF) 716HANDLE_DW_OP(0x10, constu, 1, 0, 2, DWARF) 717HANDLE_DW_OP(0x11, consts, 1, 0, 2, DWARF) 718HANDLE_DW_OP(0x12, dup, 0, 1, 2, DWARF) 719HANDLE_DW_OP(0x13, drop, 0, 1, 2, DWARF) 720HANDLE_DW_OP(0x14, over, 0, 1, 2, DWARF) 721HANDLE_DW_OP(0x15, pick, 1, -1, 2, DWARF) 722HANDLE_DW_OP(0x16, swap, 0, 2, 2, DWARF) 723HANDLE_DW_OP(0x17, rot, 0, 3, 2, DWARF) 724HANDLE_DW_OP(0x18, xderef, 0, 2, 2, DWARF) 725HANDLE_DW_OP(0x19, abs, 0, 1, 2, DWARF) 726HANDLE_DW_OP(0x1a, and, 0, 2, 2, DWARF) 727HANDLE_DW_OP(0x1b, div, 0, 2, 2, DWARF) 728HANDLE_DW_OP(0x1c, minus, 0, 2, 2, DWARF) 729HANDLE_DW_OP(0x1d, mod, 0, 2, 2, DWARF) 730HANDLE_DW_OP(0x1e, mul, 0, 2, 2, DWARF) 731HANDLE_DW_OP(0x1f, neg, 0, 1, 2, DWARF) 732HANDLE_DW_OP(0x20, not, 0, 1, 2, DWARF) 733HANDLE_DW_OP(0x21, or, 0, 2, 2, DWARF) 734HANDLE_DW_OP(0x22, plus, 0, 2, 2, DWARF) 735HANDLE_DW_OP(0x23, plus_uconst, 1, 1, 2, DWARF) 736HANDLE_DW_OP(0x24, shl, 0, 2, 2, DWARF) 737HANDLE_DW_OP(0x25, shr, 0, 2, 2, DWARF) 738HANDLE_DW_OP(0x26, shra, 0, 2, 2, DWARF) 739HANDLE_DW_OP(0x27, xor, 0, 2, 2, DWARF) 740HANDLE_DW_OP(0x28, bra, 1, 1, 2, DWARF) 741HANDLE_DW_OP(0x29, eq, 0, 2, 2, DWARF) 742HANDLE_DW_OP(0x2a, ge, 0, 2, 2, DWARF) 743HANDLE_DW_OP(0x2b, gt, 0, 2, 2, DWARF) 744HANDLE_DW_OP(0x2c, le, 0, 2, 2, DWARF) 745HANDLE_DW_OP(0x2d, lt, 0, 2, 2, DWARF) 746HANDLE_DW_OP(0x2e, ne, 0, 2, 2, DWARF) 747HANDLE_DW_OP(0x2f, skip, 1, 0, 2, DWARF) 748HANDLE_DW_OP(0x30, lit0, 0, 0, 2, DWARF) 749HANDLE_DW_OP(0x31, lit1, 0, 0, 2, DWARF) 750HANDLE_DW_OP(0x32, lit2, 0, 0, 2, DWARF) 751HANDLE_DW_OP(0x33, lit3, 0, 0, 2, DWARF) 752HANDLE_DW_OP(0x34, lit4, 0, 0, 2, DWARF) 753HANDLE_DW_OP(0x35, lit5, 0, 0, 2, DWARF) 754HANDLE_DW_OP(0x36, lit6, 0, 0, 2, DWARF) 755HANDLE_DW_OP(0x37, lit7, 0, 0, 2, DWARF) 756HANDLE_DW_OP(0x38, lit8, 0, 0, 2, DWARF) 757HANDLE_DW_OP(0x39, lit9, 0, 0, 2, DWARF) 758HANDLE_DW_OP(0x3a, lit10, 0, 0, 2, DWARF) 759HANDLE_DW_OP(0x3b, lit11, 0, 0, 2, DWARF) 760HANDLE_DW_OP(0x3c, lit12, 0, 0, 2, DWARF) 761HANDLE_DW_OP(0x3d, lit13, 0, 0, 2, DWARF) 762HANDLE_DW_OP(0x3e, lit14, 0, 0, 2, DWARF) 763HANDLE_DW_OP(0x3f, lit15, 0, 0, 2, DWARF) 764HANDLE_DW_OP(0x40, lit16, 0, 0, 2, DWARF) 765HANDLE_DW_OP(0x41, lit17, 0, 0, 2, DWARF) 766HANDLE_DW_OP(0x42, lit18, 0, 0, 2, DWARF) 767HANDLE_DW_OP(0x43, lit19, 0, 0, 2, DWARF) 768HANDLE_DW_OP(0x44, lit20, 0, 0, 2, DWARF) 769HANDLE_DW_OP(0x45, lit21, 0, 0, 2, DWARF) 770HANDLE_DW_OP(0x46, lit22, 0, 0, 2, DWARF) 771HANDLE_DW_OP(0x47, lit23, 0, 0, 2, DWARF) 772HANDLE_DW_OP(0x48, lit24, 0, 0, 2, DWARF) 773HANDLE_DW_OP(0x49, lit25, 0, 0, 2, DWARF) 774HANDLE_DW_OP(0x4a, lit26, 0, 0, 2, DWARF) 775HANDLE_DW_OP(0x4b, lit27, 0, 0, 2, DWARF) 776HANDLE_DW_OP(0x4c, lit28, 0, 0, 2, DWARF) 777HANDLE_DW_OP(0x4d, lit29, 0, 0, 2, DWARF) 778HANDLE_DW_OP(0x4e, lit30, 0, 0, 2, DWARF) 779HANDLE_DW_OP(0x4f, lit31, 0, 0, 2, DWARF) 780HANDLE_DW_OP(0x50, reg0, 0, 0, 2, DWARF) 781HANDLE_DW_OP(0x51, reg1, 0, 0, 2, DWARF) 782HANDLE_DW_OP(0x52, reg2, 0, 0, 2, DWARF) 783HANDLE_DW_OP(0x53, reg3, 0, 0, 2, DWARF) 784HANDLE_DW_OP(0x54, reg4, 0, 0, 2, DWARF) 785HANDLE_DW_OP(0x55, reg5, 0, 0, 2, DWARF) 786HANDLE_DW_OP(0x56, reg6, 0, 0, 2, DWARF) 787HANDLE_DW_OP(0x57, reg7, 0, 0, 2, DWARF) 788HANDLE_DW_OP(0x58, reg8, 0, 0, 2, DWARF) 789HANDLE_DW_OP(0x59, reg9, 0, 0, 2, DWARF) 790HANDLE_DW_OP(0x5a, reg10, 0, 0, 2, DWARF) 791HANDLE_DW_OP(0x5b, reg11, 0, 0, 2, DWARF) 792HANDLE_DW_OP(0x5c, reg12, 0, 0, 2, DWARF) 793HANDLE_DW_OP(0x5d, reg13, 0, 0, 2, DWARF) 794HANDLE_DW_OP(0x5e, reg14, 0, 0, 2, DWARF) 795HANDLE_DW_OP(0x5f, reg15, 0, 0, 2, DWARF) 796HANDLE_DW_OP(0x60, reg16, 0, 0, 2, DWARF) 797HANDLE_DW_OP(0x61, reg17, 0, 0, 2, DWARF) 798HANDLE_DW_OP(0x62, reg18, 0, 0, 2, DWARF) 799HANDLE_DW_OP(0x63, reg19, 0, 0, 2, DWARF) 800HANDLE_DW_OP(0x64, reg20, 0, 0, 2, DWARF) 801HANDLE_DW_OP(0x65, reg21, 0, 0, 2, DWARF) 802HANDLE_DW_OP(0x66, reg22, 0, 0, 2, DWARF) 803HANDLE_DW_OP(0x67, reg23, 0, 0, 2, DWARF) 804HANDLE_DW_OP(0x68, reg24, 0, 0, 2, DWARF) 805HANDLE_DW_OP(0x69, reg25, 0, 0, 2, DWARF) 806HANDLE_DW_OP(0x6a, reg26, 0, 0, 2, DWARF) 807HANDLE_DW_OP(0x6b, reg27, 0, 0, 2, DWARF) 808HANDLE_DW_OP(0x6c, reg28, 0, 0, 2, DWARF) 809HANDLE_DW_OP(0x6d, reg29, 0, 0, 2, DWARF) 810HANDLE_DW_OP(0x6e, reg30, 0, 0, 2, DWARF) 811HANDLE_DW_OP(0x6f, reg31, 0, 0, 2, DWARF) 812HANDLE_DW_OP(0x70, breg0, 1, 0, 2, DWARF) 813HANDLE_DW_OP(0x71, breg1, 1, 0, 2, DWARF) 814HANDLE_DW_OP(0x72, breg2, 1, 0, 2, DWARF) 815HANDLE_DW_OP(0x73, breg3, 1, 0, 2, DWARF) 816HANDLE_DW_OP(0x74, breg4, 1, 0, 2, DWARF) 817HANDLE_DW_OP(0x75, breg5, 1, 0, 2, DWARF) 818HANDLE_DW_OP(0x76, breg6, 1, 0, 2, DWARF) 819HANDLE_DW_OP(0x77, breg7, 1, 0, 2, DWARF) 820HANDLE_DW_OP(0x78, breg8, 1, 0, 2, DWARF) 821HANDLE_DW_OP(0x79, breg9, 1, 0, 2, DWARF) 822HANDLE_DW_OP(0x7a, breg10, 1, 0, 2, DWARF) 823HANDLE_DW_OP(0x7b, breg11, 1, 0, 2, DWARF) 824HANDLE_DW_OP(0x7c, breg12, 1, 0, 2, DWARF) 825HANDLE_DW_OP(0x7d, breg13, 1, 0, 2, DWARF) 826HANDLE_DW_OP(0x7e, breg14, 1, 0, 2, DWARF) 827HANDLE_DW_OP(0x7f, breg15, 1, 0, 2, DWARF) 828HANDLE_DW_OP(0x80, breg16, 1, 0, 2, DWARF) 829HANDLE_DW_OP(0x81, breg17, 1, 0, 2, DWARF) 830HANDLE_DW_OP(0x82, breg18, 1, 0, 2, DWARF) 831HANDLE_DW_OP(0x83, breg19, 1, 0, 2, DWARF) 832HANDLE_DW_OP(0x84, breg20, 1, 0, 2, DWARF) 833HANDLE_DW_OP(0x85, breg21, 1, 0, 2, DWARF) 834HANDLE_DW_OP(0x86, breg22, 1, 0, 2, DWARF) 835HANDLE_DW_OP(0x87, breg23, 1, 0, 2, DWARF) 836HANDLE_DW_OP(0x88, breg24, 1, 0, 2, DWARF) 837HANDLE_DW_OP(0x89, breg25, 1, 0, 2, DWARF) 838HANDLE_DW_OP(0x8a, breg26, 1, 0, 2, DWARF) 839HANDLE_DW_OP(0x8b, breg27, 1, 0, 2, DWARF) 840HANDLE_DW_OP(0x8c, breg28, 1, 0, 2, DWARF) 841HANDLE_DW_OP(0x8d, breg29, 1, 0, 2, DWARF) 842HANDLE_DW_OP(0x8e, breg30, 1, 0, 2, DWARF) 843HANDLE_DW_OP(0x8f, breg31, 1, 0, 2, DWARF) 844HANDLE_DW_OP(0x90, regx, 1, 0, 2, DWARF) 845HANDLE_DW_OP(0x91, fbreg, 1, 0, 2, DWARF) 846HANDLE_DW_OP(0x92, bregx, 2, 0, 2, DWARF) 847HANDLE_DW_OP(0x93, piece, 1, 0, 2, DWARF) 848HANDLE_DW_OP(0x94, deref_size, 1, 1, 2, DWARF) 849HANDLE_DW_OP(0x95, xderef_size, 1, 1, 2, DWARF) 850HANDLE_DW_OP(0x96, nop, 0, 0, 2, DWARF) 851// New in DWARF v3: 852HANDLE_DW_OP(0x97, push_object_address, 0, 0, 3, DWARF) 853HANDLE_DW_OP(0x98, call2, 1, 0, 3, DWARF) 854HANDLE_DW_OP(0x99, call4, 1, 0, 3, DWARF) 855HANDLE_DW_OP(0x9a, call_ref, 1, 1, 3, DWARF) 856HANDLE_DW_OP(0x9b, form_tls_address, 0, 1, 3, DWARF) 857HANDLE_DW_OP(0x9c, call_frame_cfa, 0, 0, 3, DWARF) 858HANDLE_DW_OP(0x9d, bit_piece, 2, 0, 3, DWARF) 859// New in DWARF v4: 860HANDLE_DW_OP(0x9e, implicit_value, 2, 0, 4, DWARF) 861HANDLE_DW_OP(0x9f, stack_value, 0, 1, 4, DWARF) 862// New in DWARF v5: 863HANDLE_DW_OP(0xa0, implicit_pointer, 2, 0, 5, DWARF) 864HANDLE_DW_OP(0xa1, addrx, 1, 0, 5, DWARF) 865HANDLE_DW_OP(0xa2, constx, 1, 0, 5, DWARF) 866HANDLE_DW_OP(0xa3, entry_value, 2, 0, 5, DWARF) 867HANDLE_DW_OP(0xa4, const_type, 3, 0, 5, DWARF) 868HANDLE_DW_OP(0xa5, regval_type, 2, 0, 5, DWARF) 869HANDLE_DW_OP(0xa6, deref_type, 2, 1, 5, DWARF) 870HANDLE_DW_OP(0xa7, xderef_type, 2, 2, 5, DWARF) 871HANDLE_DW_OP(0xa8, convert, 2, 1, 5, DWARF) 872HANDLE_DW_OP(0xa9, reinterpret, 1, 1, 5, DWARF) 873// Vendor extensions: 874// Extensions for GNU-style thread-local storage. 875HANDLE_DW_OP(0xe0, GNU_push_tls_address, 0, 0, 0, GNU) 876// Conflicting: 877// HANDLE_DW_OP(0xe0, HP_unknown, -1, -1, 0, HP) 878HANDLE_DW_OP(0xe1, HP_is_value, -1, -1, 0, HP) 879HANDLE_DW_OP(0xe2, HP_fltconst4, -1, -1, 0, HP) 880HANDLE_DW_OP(0xe3, HP_fltconst8, -1, -1, 0, HP) 881HANDLE_DW_OP(0xe4, HP_mod_range, -1, -1, 0, HP) 882HANDLE_DW_OP(0xe5, HP_unmod_range, -1, -1, 0, HP) 883HANDLE_DW_OP(0xe6, HP_tls, -1, -1, 0, HP) 884HANDLE_DW_OP(0xe8, INTEL_bit_piece, -1, -1, 0, INTEL) 885 886// Extensions for WebAssembly. 887HANDLE_DW_OP(0xed, WASM_location, -1, -1, 0, WASM) 888HANDLE_DW_OP(0xee, WASM_location_int, -1, -1, 0, WASM) 889// Historic and not implemented in LLVM. 890HANDLE_DW_OP(0xf0, APPLE_uninit, -1, -1, 0, APPLE) 891HANDLE_DW_OP(0xf2, GNU_implicit_pointer, 2, 0, 4, GNU) 892// The GNU entry value extension. 893HANDLE_DW_OP(0xf3, GNU_entry_value, 2, 0, 0, GNU) 894HANDLE_DW_OP(0xf8, PGI_omp_thread_num, -1, -1, 0, PGI) 895// Extensions for Fission proposal. 896HANDLE_DW_OP(0xfb, GNU_addr_index, 1, 0, 0, GNU) 897HANDLE_DW_OP(0xfc, GNU_const_index, 1, 0, 0, GNU) 898 899// DW_OP_LLVM_user has two operands: 900// (1) An unsigned LEB128 "LLVM Vendor Extension Opcode". 901// (2) Zero or more literal operands, the number and type of which are 902// implied by the opcode (1). 903// DW_OP_LLVM_user acts as an extension multiplexer, opening up the encoding 904// space to accommodate an infinite number of extensions. This better reflects 905// the de-facto permanent allocation of extensions. 906HANDLE_DW_OP(0xe9, LLVM_user, -1, -1, 0, LLVM) 907// "LLVM Vendor Extension" operations under the DW_OP_LLVM_user encoding 908// scheme. This list is authoritative and exhaustive. Once an operation is 909// registered here it cannot be removed nor have its encoding changed. The 910// encoding space must skip zero (which is reserved) and have no gaps. 911// 912// The DW_OP_LLVM_user DW_OP_LLVM_nop operation has no effect on the 913// location stack or any of its values. It is defined as a placeholder for 914// testing purposes. 915HANDLE_DW_OP_LLVM_USEROP(0x0001, nop) 916 917// DWARF languages. 918HANDLE_DW_LANG(0x0001, C89, 0, 2, DWARF) 919HANDLE_DW_LANG(0x0002, C, 0, 2, DWARF) 920HANDLE_DW_LANG(0x0003, Ada83, 1, 2, DWARF) 921HANDLE_DW_LANG(0x0004, C_plus_plus, 0, 2, DWARF) 922HANDLE_DW_LANG(0x0005, Cobol74, 1, 2, DWARF) 923HANDLE_DW_LANG(0x0006, Cobol85, 1, 2, DWARF) 924HANDLE_DW_LANG(0x0007, Fortran77, 1, 2, DWARF) 925HANDLE_DW_LANG(0x0008, Fortran90, 1, 2, DWARF) 926HANDLE_DW_LANG(0x0009, Pascal83, 1, 2, DWARF) 927HANDLE_DW_LANG(0x000a, Modula2, 1, 2, DWARF) 928// New in DWARF v3: 929HANDLE_DW_LANG(0x000b, Java, 0, 3, DWARF) 930HANDLE_DW_LANG(0x000c, C99, 0, 3, DWARF) 931HANDLE_DW_LANG(0x000d, Ada95, 1, 3, DWARF) 932HANDLE_DW_LANG(0x000e, Fortran95, 1, 3, DWARF) 933HANDLE_DW_LANG(0x000f, PLI, 1, 3, DWARF) 934HANDLE_DW_LANG(0x0010, ObjC, 0, 3, DWARF) 935HANDLE_DW_LANG(0x0011, ObjC_plus_plus, 0, 3, DWARF) 936HANDLE_DW_LANG(0x0012, UPC, 0, 3, DWARF) 937HANDLE_DW_LANG(0x0013, D, 0, 3, DWARF) 938// New in DWARF v4: 939HANDLE_DW_LANG(0x0014, Python, 0, 4, DWARF) 940// New in DWARF v5: 941HANDLE_DW_LANG(0x0015, OpenCL, 0, 5, DWARF) 942HANDLE_DW_LANG(0x0016, Go, 0, 5, DWARF) 943HANDLE_DW_LANG(0x0017, Modula3, 1, 5, DWARF) 944HANDLE_DW_LANG(0x0018, Haskell, 0, 5, DWARF) 945HANDLE_DW_LANG(0x0019, C_plus_plus_03, 0, 5, DWARF) 946HANDLE_DW_LANG(0x001a, C_plus_plus_11, 0, 5, DWARF) 947HANDLE_DW_LANG(0x001b, OCaml, 0, 5, DWARF) 948HANDLE_DW_LANG(0x001c, Rust, 0, 5, DWARF) 949HANDLE_DW_LANG(0x001d, C11, 0, 5, DWARF) 950HANDLE_DW_LANG(0x001e, Swift, 0, 5, DWARF) 951HANDLE_DW_LANG(0x001f, Julia, 1, 5, DWARF) 952HANDLE_DW_LANG(0x0020, Dylan, 0, 5, DWARF) 953HANDLE_DW_LANG(0x0021, C_plus_plus_14, 0, 5, DWARF) 954HANDLE_DW_LANG(0x0022, Fortran03, 1, 5, DWARF) 955HANDLE_DW_LANG(0x0023, Fortran08, 1, 5, DWARF) 956HANDLE_DW_LANG(0x0024, RenderScript, 0, 5, DWARF) 957HANDLE_DW_LANG(0x0025, BLISS, 0, 5, DWARF) 958// New since DWARF v5: 959HANDLE_DW_LANG(0x0026, Kotlin, 0, 0, DWARF) 960HANDLE_DW_LANG(0x0027, Zig, 0, 0, DWARF) 961HANDLE_DW_LANG(0x0028, Crystal, 0, 0, DWARF) 962HANDLE_DW_LANG(0x002a, C_plus_plus_17, 0, 0, DWARF) 963HANDLE_DW_LANG(0x002b, C_plus_plus_20, 0, 0, DWARF) 964HANDLE_DW_LANG(0x002c, C17, 0, 0, DWARF) 965HANDLE_DW_LANG(0x002d, Fortran18, 0, 0, DWARF) 966HANDLE_DW_LANG(0x002e, Ada2005, 0, 0, DWARF) 967HANDLE_DW_LANG(0x002f, Ada2012, 0, 0, DWARF) 968HANDLE_DW_LANG(0x0030, HIP, 0, 0, DWARF) 969HANDLE_DW_LANG(0x0031, Assembly, 0, 0, DWARF) 970HANDLE_DW_LANG(0x0032, C_sharp, 0, 0, DWARF) 971HANDLE_DW_LANG(0x0033, Mojo, 0, 0, DWARF) 972HANDLE_DW_LANG(0x0034, GLSL, 0, 0, DWARF) 973HANDLE_DW_LANG(0x0035, GLSL_ES, 0, 0, DWARF) 974HANDLE_DW_LANG(0x0036, HLSL, 0, 0, DWARF) 975HANDLE_DW_LANG(0x0037, OpenCL_CPP, 0, 0, DWARF) 976HANDLE_DW_LANG(0x0038, CPP_for_OpenCL, 0, 0, DWARF) 977HANDLE_DW_LANG(0x0039, SYCL, 0, 0, DWARF) 978HANDLE_DW_LANG(0x003d, Metal, 0, 0, DWARF) 979HANDLE_DW_LANG(0x0040, Ruby, 0, 0, DWARF) 980HANDLE_DW_LANG(0x0041, Move, 0, 0, DWARF) 981HANDLE_DW_LANG(0x0042, Hylo, 0, 0, DWARF) 982 983// Vendor extensions: 984HANDLE_DW_LANG(0x8001, Mips_Assembler, std::nullopt, 0, MIPS) 985HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, 0, GOOGLE) 986HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, 0, BORLAND) 987 988// Tentative DWARF 6 language codes. This list is subject to change. 989HANDLE_DW_LNAME(0x0001, Ada, "ISO Ada", 1) // YYYY 990HANDLE_DW_LNAME(0x0002, BLISS, "BLISS", 0) 991// YYYYMM 992// K&R 000000 993// C89 198912 994// C99 199901 995// C11 201112 996// C17 201710 997// C23 202311 998HANDLE_DW_LNAME(0x0003, C, "C (K&R and ISO)", 0) 999// YYYYMM 1000// C++98 199711 1001// C++03 200310 1002// C++11 201103 1003// C++14 201402 1004// C++17 201703 1005// C++20 202002 1006HANDLE_DW_LNAME(0x0004, C_plus_plus, "ISO C++", 0) 1007HANDLE_DW_LNAME(0x0005, Cobol, "ISO Cobol", 1) // YYYY 1008HANDLE_DW_LNAME(0x0006, Crystal, "Crystal", 0) 1009HANDLE_DW_LNAME(0x0007, D, "D", 0) 1010HANDLE_DW_LNAME(0x0008, Dylan, "Dylan", 0) 1011HANDLE_DW_LNAME(0x0009, Fortran, "ISO Fortran", 1) // YYYY 1012HANDLE_DW_LNAME(0x000a, Go, "Go", 0) 1013HANDLE_DW_LNAME(0x000b, Haskell, "Haskell", 0) 1014HANDLE_DW_LNAME(0x000c, Java, "Java", 0) 1015HANDLE_DW_LNAME(0x000d, Julia, "Julia", 1) 1016HANDLE_DW_LNAME(0x000e, Kotlin, "Kotlin", 0) 1017HANDLE_DW_LNAME(0x000f, Modula2, "Modula 2", 1) 1018HANDLE_DW_LNAME(0x0010, Modula3, "Modula 3", 1) 1019HANDLE_DW_LNAME(0x0011, ObjC, "Objective C", 0) // YYYYMM 1020HANDLE_DW_LNAME(0x0012, ObjC_plus_plus, "Objective C++", 0) // YYYYMM 1021HANDLE_DW_LNAME(0x0013, OCaml, "OCaml", 0) 1022HANDLE_DW_LNAME(0x0014, OpenCL_C, "OpenCL C", 0) 1023HANDLE_DW_LNAME(0x0015, Pascal, "ISO Pascal", 1) // YYYY 1024HANDLE_DW_LNAME(0x0016, PLI, "ANSI PL/I", 1) 1025HANDLE_DW_LNAME(0x0017, Python, "Python", 0) 1026HANDLE_DW_LNAME(0x0018, RenderScript, "RenderScript Kernel Language", 0) 1027HANDLE_DW_LNAME(0x0019, Rust, "Rust", 0) 1028HANDLE_DW_LNAME(0x001a, Swift, "Swift", 0) // VVMM 1029HANDLE_DW_LNAME(0x001b, UPC, "Unified Parallel C (UPC)", 0) 1030HANDLE_DW_LNAME(0x001c, Zig, "Zig", 0) 1031HANDLE_DW_LNAME(0x001d, Assembly, "Assembly", 0) 1032// Conflict: HANDLE_DW_LNAME(0x001d, HIP, "HIP", 0) 1033HANDLE_DW_LNAME(0x001e, C_sharp, "C#", 0) 1034HANDLE_DW_LNAME(0x001f, Mojo, "Mojo", 0) 1035HANDLE_DW_LNAME(0x0020, GLSL, "OpenGL Shading Language", 0) // VVMMPP 1036HANDLE_DW_LNAME(0x0021, GLSL_ES, "OpenGL ES Shading Language", 0) // VVMMPP 1037HANDLE_DW_LNAME(0x0022, HLSL, "High Level Shading Language", 0) // YYYY 1038HANDLE_DW_LNAME(0x0023, OpenCL_CPP, "OpenCL C++", 0) // VVMM 1039HANDLE_DW_LNAME(0x0024, CPP_for_OpenCL, "C++ for OpenCL", 0) // VVMM 1040HANDLE_DW_LNAME(0x0025, SYCL, "SYCL", 0) // YYYYRR 1041HANDLE_DW_LNAME(0x0026, Ruby, "Ruby", 0) // VVMMPP 1042HANDLE_DW_LNAME(0x0027, Move, "Move", 0) // YYYYMM 1043HANDLE_DW_LNAME(0x0028, Hylo, "Hylo", 0) 1044HANDLE_DW_LNAME(0x002c, Metal, "Metal", 0) // VVMMPP 1045 1046// DWARF attribute type encodings. 1047HANDLE_DW_ATE(0x01, address, 2, DWARF) 1048HANDLE_DW_ATE(0x02, boolean, 2, DWARF) 1049HANDLE_DW_ATE(0x03, complex_float, 2, DWARF) 1050HANDLE_DW_ATE(0x04, float, 2, DWARF) 1051HANDLE_DW_ATE(0x05, signed, 2, DWARF) 1052HANDLE_DW_ATE(0x06, signed_char, 2, DWARF) 1053HANDLE_DW_ATE(0x07, unsigned, 2, DWARF) 1054HANDLE_DW_ATE(0x08, unsigned_char, 2, DWARF) 1055// New in DWARF v3: 1056HANDLE_DW_ATE(0x09, imaginary_float, 3, DWARF) 1057HANDLE_DW_ATE(0x0a, packed_decimal, 3, DWARF) 1058HANDLE_DW_ATE(0x0b, numeric_string, 3, DWARF) 1059HANDLE_DW_ATE(0x0c, edited, 3, DWARF) 1060HANDLE_DW_ATE(0x0d, signed_fixed, 3, DWARF) 1061HANDLE_DW_ATE(0x0e, unsigned_fixed, 3, DWARF) 1062HANDLE_DW_ATE(0x0f, decimal_float, 3, DWARF) 1063// New in DWARF v4: 1064HANDLE_DW_ATE(0x10, UTF, 4, DWARF) 1065// New in DWARF v5: 1066HANDLE_DW_ATE(0x11, UCS, 5, DWARF) 1067HANDLE_DW_ATE(0x12, ASCII, 5, DWARF) 1068 1069// The version numbers of all vendor extensions >0x80 were guessed. 1070// Conflicting: 1071// HANDLE_DW_ATE(0x80, ALTIUM_fract, 2, ALTIUM) = DW_ATE_low_user 1072// HANDLE_DW_ATE(0x81, ALTIUM_accum, 2, ALTIUM) 1073 1074HANDLE_DW_ATE(0x81, HP_complex_float, 2, HP) 1075HANDLE_DW_ATE(0x82, HP_float128, 2, HP) 1076HANDLE_DW_ATE(0x83, HP_complex_float128, 2, HP) 1077HANDLE_DW_ATE(0x84, HP_floathpintel, 2, HP) 1078HANDLE_DW_ATE(0x85, HP_imaginary_float90, 2, HP) 1079HANDLE_DW_ATE(0x86, HP_imaginary_float128, 2, HP) 1080// Conflicting: 1081// HANDLE_DW_ATE(0x86, SUN_imaginary_float, 2, SUN) 1082 1083// DWARF attribute endianity 1084HANDLE_DW_END(0x00, default) 1085HANDLE_DW_END(0x01, big) 1086HANDLE_DW_END(0x02, little) 1087 1088// DWARF virtuality codes. 1089HANDLE_DW_VIRTUALITY(0x00, none) 1090HANDLE_DW_VIRTUALITY(0x01, virtual) 1091HANDLE_DW_VIRTUALITY(0x02, pure_virtual) 1092 1093// DWARF v5 Defaulted Member Encodings. 1094HANDLE_DW_DEFAULTED(0x00, no) 1095HANDLE_DW_DEFAULTED(0x01, in_class) 1096HANDLE_DW_DEFAULTED(0x02, out_of_class) 1097 1098// DWARF calling convention codes. 1099HANDLE_DW_CC(0x01, normal) 1100HANDLE_DW_CC(0x02, program) 1101HANDLE_DW_CC(0x03, nocall) 1102// New in DWARF v5: 1103HANDLE_DW_CC(0x04, pass_by_reference) 1104HANDLE_DW_CC(0x05, pass_by_value) 1105// Vendor extensions: 1106HANDLE_DW_CC(0x40, GNU_renesas_sh) 1107HANDLE_DW_CC(0x41, GNU_borland_fastcall_i386) 1108HANDLE_DW_CC(0xb0, BORLAND_safecall) 1109HANDLE_DW_CC(0xb1, BORLAND_stdcall) 1110HANDLE_DW_CC(0xb2, BORLAND_pascal) 1111HANDLE_DW_CC(0xb3, BORLAND_msfastcall) 1112HANDLE_DW_CC(0xb4, BORLAND_msreturn) 1113HANDLE_DW_CC(0xb5, BORLAND_thiscall) 1114HANDLE_DW_CC(0xb6, BORLAND_fastcall) 1115HANDLE_DW_CC(0xc0, LLVM_vectorcall) 1116HANDLE_DW_CC(0xc1, LLVM_Win64) 1117HANDLE_DW_CC(0xc2, LLVM_X86_64SysV) 1118HANDLE_DW_CC(0xc3, LLVM_AAPCS) 1119HANDLE_DW_CC(0xc4, LLVM_AAPCS_VFP) 1120HANDLE_DW_CC(0xc5, LLVM_IntelOclBicc) 1121HANDLE_DW_CC(0xc6, LLVM_SpirFunction) 1122HANDLE_DW_CC(0xc7, LLVM_DeviceKernel) 1123HANDLE_DW_CC(0xc8, LLVM_Swift) 1124HANDLE_DW_CC(0xc9, LLVM_PreserveMost) 1125HANDLE_DW_CC(0xca, LLVM_PreserveAll) 1126HANDLE_DW_CC(0xcb, LLVM_X86RegCall) 1127HANDLE_DW_CC(0xcc, LLVM_M68kRTD) 1128HANDLE_DW_CC(0xcd, LLVM_PreserveNone) 1129HANDLE_DW_CC(0xce, LLVM_RISCVVectorCall) 1130HANDLE_DW_CC(0xcf, LLVM_SwiftTail) 1131HANDLE_DW_CC(0xd0, LLVM_RISCVVLSCall) 1132// From GCC source code (include/dwarf2.h): This DW_CC_ value is not currently 1133// generated by any toolchain. It is used internally to GDB to indicate OpenCL 1134// C functions that have been compiled with the IBM XL C for OpenCL compiler and 1135// use a non-platform calling convention for passing OpenCL C vector types. 1136HANDLE_DW_CC(0xff, GDB_IBM_OpenCL) 1137 1138// Line Number Extended Opcode Encodings 1139HANDLE_DW_LNE(0x01, end_sequence) 1140HANDLE_DW_LNE(0x02, set_address) 1141HANDLE_DW_LNE(0x03, define_file) 1142// New in DWARF v4: 1143HANDLE_DW_LNE(0x04, set_discriminator) 1144 1145// Line Number Standard Opcode Encodings. 1146HANDLE_DW_LNS(0x00, extended_op) 1147HANDLE_DW_LNS(0x01, copy) 1148HANDLE_DW_LNS(0x02, advance_pc) 1149HANDLE_DW_LNS(0x03, advance_line) 1150HANDLE_DW_LNS(0x04, set_file) 1151HANDLE_DW_LNS(0x05, set_column) 1152HANDLE_DW_LNS(0x06, negate_stmt) 1153HANDLE_DW_LNS(0x07, set_basic_block) 1154HANDLE_DW_LNS(0x08, const_add_pc) 1155HANDLE_DW_LNS(0x09, fixed_advance_pc) 1156// New in DWARF v3: 1157HANDLE_DW_LNS(0x0a, set_prologue_end) 1158HANDLE_DW_LNS(0x0b, set_epilogue_begin) 1159HANDLE_DW_LNS(0x0c, set_isa) 1160 1161// DWARF v5 Line number header entry format. 1162HANDLE_DW_LNCT(0x01, path) 1163HANDLE_DW_LNCT(0x02, directory_index) 1164HANDLE_DW_LNCT(0x03, timestamp) 1165HANDLE_DW_LNCT(0x04, size) 1166HANDLE_DW_LNCT(0x05, MD5) 1167// A vendor extension until http://dwarfstd.org/ShowIssue.php?issue=180201.1 is 1168// accepted and incorporated into the next DWARF standard. 1169HANDLE_DW_LNCT(0x2001, LLVM_source) 1170 1171// DWARF v5 Macro information. 1172HANDLE_DW_MACRO(0x01, define) 1173HANDLE_DW_MACRO(0x02, undef) 1174HANDLE_DW_MACRO(0x03, start_file) 1175HANDLE_DW_MACRO(0x04, end_file) 1176HANDLE_DW_MACRO(0x05, define_strp) 1177HANDLE_DW_MACRO(0x06, undef_strp) 1178HANDLE_DW_MACRO(0x07, import) 1179HANDLE_DW_MACRO(0x08, define_sup) 1180HANDLE_DW_MACRO(0x09, undef_sup) 1181HANDLE_DW_MACRO(0x0a, import_sup) 1182HANDLE_DW_MACRO(0x0b, define_strx) 1183HANDLE_DW_MACRO(0x0c, undef_strx) 1184 1185// GNU .debug_macro extension. 1186HANDLE_DW_MACRO_GNU(0x01, define) 1187HANDLE_DW_MACRO_GNU(0x02, undef) 1188HANDLE_DW_MACRO_GNU(0x03, start_file) 1189HANDLE_DW_MACRO_GNU(0x04, end_file) 1190HANDLE_DW_MACRO_GNU(0x05, define_indirect) 1191HANDLE_DW_MACRO_GNU(0x06, undef_indirect) 1192HANDLE_DW_MACRO_GNU(0x07, transparent_include) 1193HANDLE_DW_MACRO_GNU(0x08, define_indirect_alt) 1194HANDLE_DW_MACRO_GNU(0x09, undef_indirect_alt) 1195HANDLE_DW_MACRO_GNU(0x0a, transparent_include_alt) 1196 1197// DWARF v5 Macro header flags. 1198HANDLE_MACRO_FLAG(0x01, OFFSET_SIZE) 1199HANDLE_MACRO_FLAG(0x02, DEBUG_LINE_OFFSET) 1200HANDLE_MACRO_FLAG(0x04, OPCODE_OPERANDS_TABLE) 1201 1202// DWARF v5 Range List Entry encoding values. 1203HANDLE_DW_RLE(0x00, end_of_list) 1204HANDLE_DW_RLE(0x01, base_addressx) 1205HANDLE_DW_RLE(0x02, startx_endx) 1206HANDLE_DW_RLE(0x03, startx_length) 1207HANDLE_DW_RLE(0x04, offset_pair) 1208HANDLE_DW_RLE(0x05, base_address) 1209HANDLE_DW_RLE(0x06, start_end) 1210HANDLE_DW_RLE(0x07, start_length) 1211 1212// DWARF v5 Loc List Entry encoding values. 1213HANDLE_DW_LLE(0x00, end_of_list) 1214HANDLE_DW_LLE(0x01, base_addressx) 1215HANDLE_DW_LLE(0x02, startx_endx) 1216HANDLE_DW_LLE(0x03, startx_length) 1217HANDLE_DW_LLE(0x04, offset_pair) 1218HANDLE_DW_LLE(0x05, default_location) 1219HANDLE_DW_LLE(0x06, base_address) 1220HANDLE_DW_LLE(0x07, start_end) 1221HANDLE_DW_LLE(0x08, start_length) 1222 1223// Call frame instruction encodings. 1224HANDLE_DW_CFA(0x00, nop) 1225HANDLE_DW_CFA(0x40, advance_loc) 1226HANDLE_DW_CFA(0x80, offset) 1227HANDLE_DW_CFA(0xc0, restore) 1228HANDLE_DW_CFA(0x01, set_loc) 1229HANDLE_DW_CFA(0x02, advance_loc1) 1230HANDLE_DW_CFA(0x03, advance_loc2) 1231HANDLE_DW_CFA(0x04, advance_loc4) 1232HANDLE_DW_CFA(0x05, offset_extended) 1233HANDLE_DW_CFA(0x06, restore_extended) 1234HANDLE_DW_CFA(0x07, undefined) 1235HANDLE_DW_CFA(0x08, same_value) 1236HANDLE_DW_CFA(0x09, register) 1237HANDLE_DW_CFA(0x0a, remember_state) 1238HANDLE_DW_CFA(0x0b, restore_state) 1239HANDLE_DW_CFA(0x0c, def_cfa) 1240HANDLE_DW_CFA(0x0d, def_cfa_register) 1241HANDLE_DW_CFA(0x0e, def_cfa_offset) 1242// New in DWARF v3: 1243HANDLE_DW_CFA(0x0f, def_cfa_expression) 1244HANDLE_DW_CFA(0x10, expression) 1245HANDLE_DW_CFA(0x11, offset_extended_sf) 1246HANDLE_DW_CFA(0x12, def_cfa_sf) 1247HANDLE_DW_CFA(0x13, def_cfa_offset_sf) 1248HANDLE_DW_CFA(0x14, val_offset) 1249HANDLE_DW_CFA(0x15, val_offset_sf) 1250HANDLE_DW_CFA(0x16, val_expression) 1251// Vendor extensions: 1252HANDLE_DW_CFA_PRED(0x1d, MIPS_advance_loc8, SELECT_MIPS64) 1253HANDLE_DW_CFA_PRED(0x2d, GNU_window_save, SELECT_SPARC) 1254HANDLE_DW_CFA_PRED(0x2c, AARCH64_negate_ra_state_with_pc, SELECT_AARCH64) 1255HANDLE_DW_CFA_PRED(0x2d, AARCH64_negate_ra_state, SELECT_AARCH64) 1256HANDLE_DW_CFA_PRED(0x2e, GNU_args_size, SELECT_X86) 1257// Heterogeneous Debugging Extension defined at 1258// https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html#cfa-definition-instructions 1259HANDLE_DW_CFA(0x30, LLVM_def_aspace_cfa) 1260HANDLE_DW_CFA(0x31, LLVM_def_aspace_cfa_sf) 1261 1262// Apple Objective-C Property Attributes. 1263// Keep this list in sync with clang's DeclObjCCommon.h 1264// ObjCPropertyAttribute::Kind! 1265HANDLE_DW_APPLE_PROPERTY(0x01, readonly) 1266HANDLE_DW_APPLE_PROPERTY(0x02, getter) 1267HANDLE_DW_APPLE_PROPERTY(0x04, assign) 1268HANDLE_DW_APPLE_PROPERTY(0x08, readwrite) 1269HANDLE_DW_APPLE_PROPERTY(0x10, retain) 1270HANDLE_DW_APPLE_PROPERTY(0x20, copy) 1271HANDLE_DW_APPLE_PROPERTY(0x40, nonatomic) 1272HANDLE_DW_APPLE_PROPERTY(0x80, setter) 1273HANDLE_DW_APPLE_PROPERTY(0x100, atomic) 1274HANDLE_DW_APPLE_PROPERTY(0x200, weak) 1275HANDLE_DW_APPLE_PROPERTY(0x400, strong) 1276HANDLE_DW_APPLE_PROPERTY(0x800, unsafe_unretained) 1277HANDLE_DW_APPLE_PROPERTY(0x1000, nullability) 1278HANDLE_DW_APPLE_PROPERTY(0x2000, null_resettable) 1279HANDLE_DW_APPLE_PROPERTY(0x4000, class) 1280 1281// Enum kinds. 1282// Keep in sync with EnumExtensibilityAttr::Kind. 1283HANDLE_DW_APPLE_ENUM_KIND(0x00, Closed) 1284HANDLE_DW_APPLE_ENUM_KIND(0x01, Open) 1285 1286// DWARF v5 Unit Types. 1287HANDLE_DW_UT(0x01, compile) 1288HANDLE_DW_UT(0x02, type) 1289HANDLE_DW_UT(0x03, partial) 1290HANDLE_DW_UT(0x04, skeleton) 1291HANDLE_DW_UT(0x05, split_compile) 1292HANDLE_DW_UT(0x06, split_type) 1293 1294// DWARF section types. (enum name, ELF name, ELF DWO name, cmdline name, 1295// option) Note that these IDs don't mean anything. 1296// TODO: Add Mach-O and COFF names. 1297// Official DWARF sections. 1298HANDLE_DWARF_SECTION(DebugAbbrev, ".debug_abbrev", "debug-abbrev", BoolOption) 1299HANDLE_DWARF_SECTION(DebugAddr, ".debug_addr", "debug-addr", BoolOption) 1300HANDLE_DWARF_SECTION(DebugAranges, ".debug_aranges", "debug-aranges", 1301 BoolOption) 1302HANDLE_DWARF_SECTION(DebugInfo, ".debug_info", "debug-info", OffsetOption) 1303HANDLE_DWARF_SECTION(DebugTypes, ".debug_types", "debug-types", OffsetOption) 1304HANDLE_DWARF_SECTION(DebugLine, ".debug_line", "debug-line", OffsetOption) 1305HANDLE_DWARF_SECTION(DebugLineStr, ".debug_line_str", "debug-line-str", 1306 BoolOption) 1307HANDLE_DWARF_SECTION(DebugLoc, ".debug_loc", "debug-loc", OffsetOption) 1308HANDLE_DWARF_SECTION(DebugLoclists, ".debug_loclists", "debug-loclists", 1309 OffsetOption) 1310HANDLE_DWARF_SECTION(DebugFrame, ".debug_frame", "debug-frame", OffsetOption) 1311HANDLE_DWARF_SECTION(DebugMacro, ".debug_macro", "debug-macro", BoolOption) 1312HANDLE_DWARF_SECTION(DebugNames, ".debug_names", "debug-names", BoolOption) 1313HANDLE_DWARF_SECTION(DebugPubnames, ".debug_pubnames", "debug-pubnames", 1314 BoolOption) 1315HANDLE_DWARF_SECTION(DebugPubtypes, ".debug_pubtypes", "debug-pubtypes", 1316 BoolOption) 1317HANDLE_DWARF_SECTION(DebugGnuPubnames, ".debug_gnu_pubnames", 1318 "debug-gnu-pubnames", BoolOption) 1319HANDLE_DWARF_SECTION(DebugGnuPubtypes, ".debug_gnu_pubtypes", 1320 "debug-gnu-pubtypes", BoolOption) 1321HANDLE_DWARF_SECTION(DebugRanges, ".debug_ranges", "debug-ranges", BoolOption) 1322HANDLE_DWARF_SECTION(DebugRnglists, ".debug_rnglists", "debug-rnglists", 1323 BoolOption) 1324HANDLE_DWARF_SECTION(DebugStr, ".debug_str", "debug-str", BoolOption) 1325HANDLE_DWARF_SECTION(DebugStrOffsets, ".debug_str_offsets", "debug-str-offsets", 1326 BoolOption) 1327HANDLE_DWARF_SECTION(DebugCUIndex, ".debug_cu_index", "debug-cu-index", 1328 BoolOption) 1329HANDLE_DWARF_SECTION(DebugTUIndex, ".debug_tu_index", "debug-tu-index", 1330 BoolOption) 1331// Vendor extensions. 1332HANDLE_DWARF_SECTION(AppleNames, ".apple_names", "apple-names", BoolOption) 1333HANDLE_DWARF_SECTION(AppleTypes, ".apple_types", "apple-types", BoolOption) 1334HANDLE_DWARF_SECTION(AppleNamespaces, ".apple_namespaces", "apple-namespaces", 1335 BoolOption) 1336HANDLE_DWARF_SECTION(AppleObjC, ".apple_objc", "apple-objc", BoolOption) 1337HANDLE_DWARF_SECTION(GdbIndex, ".gdb_index", "gdb-index", BoolOption) 1338 1339HANDLE_DW_IDX(0x01, compile_unit) 1340HANDLE_DW_IDX(0x02, type_unit) 1341HANDLE_DW_IDX(0x03, die_offset) 1342HANDLE_DW_IDX(0x04, parent) 1343HANDLE_DW_IDX(0x05, type_hash) 1344HANDLE_DW_IDX(0x2000, GNU_internal) 1345HANDLE_DW_IDX(0x2001, GNU_external) 1346 1347// DWARF package file section identifiers. 1348// DWARFv5, section 7.3.5.3, table 7.1. 1349HANDLE_DW_SECT(1, INFO) 1350HANDLE_DW_SECT(3, ABBREV) 1351HANDLE_DW_SECT(4, LINE) 1352HANDLE_DW_SECT(5, LOCLISTS) 1353HANDLE_DW_SECT(6, STR_OFFSETS) 1354HANDLE_DW_SECT(7, MACRO) 1355HANDLE_DW_SECT(8, RNGLISTS) 1356 1357#undef HANDLE_DW_TAG 1358#undef HANDLE_DW_AT 1359#undef HANDLE_DW_FORM 1360#undef HANDLE_DW_OP 1361#undef HANDLE_DW_OP_LLVM_USEROP 1362#undef HANDLE_DW_LANG 1363#undef HANDLE_DW_LNAME 1364#undef HANDLE_DW_ATE 1365#undef HANDLE_DW_VIRTUALITY 1366#undef HANDLE_DW_DEFAULTED 1367#undef HANDLE_DW_CC 1368#undef HANDLE_DW_LNS 1369#undef HANDLE_DW_LNE 1370#undef HANDLE_DW_LNCT 1371#undef HANDLE_DW_MACRO 1372#undef HANDLE_DW_MACRO_GNU 1373#undef HANDLE_MACRO_FLAG 1374#undef HANDLE_DW_RLE 1375#undef HANDLE_DW_LLE 1376#undef HANDLE_DW_CFA 1377#undef HANDLE_DW_CFA_PRED 1378#undef HANDLE_DW_APPLE_PROPERTY 1379#undef HANDLE_DW_UT 1380#undef HANDLE_DWARF_SECTION 1381#undef HANDLE_DW_IDX 1382#undef HANDLE_DW_END 1383#undef HANDLE_DW_SECT 1384#undef HANDLE_DW_APPLE_ENUM_KIND 1385