LCOV - code coverage report
Current view: top level - include/llvm/BinaryFormat - Dwarf.def (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 660 682 96.8 %
Date: 2018-10-20 13:21:21 Functions: 0 0 -
Legend: Lines: hit not hit

          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 !(                                                                         \
      16             :     defined HANDLE_DW_TAG || defined HANDLE_DW_AT || defined HANDLE_DW_FORM || \
      17             :     defined HANDLE_DW_OP || 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 || defined HANDLE_DW_LNE ||  \
      20             :     defined HANDLE_DW_LNCT || defined HANDLE_DW_MACRO ||                       \
      21             :     defined HANDLE_DW_RLE || defined HANDLE_DW_CFA ||                          \
      22             :     defined HANDLE_DW_APPLE_PROPERTY || defined HANDLE_DW_UT ||                \
      23             :     defined HANDLE_DWARF_SECTION || defined HANDLE_DW_IDX ||                   \
      24             :     defined HANDLE_DW_END)
      25             : #error "Missing macro definition of HANDLE_DW*"
      26             : #endif
      27             : 
      28             : #ifndef HANDLE_DW_TAG
      29             : #define HANDLE_DW_TAG(ID, NAME, VERSION, VENDOR)
      30             : #endif
      31             : 
      32             : #ifndef HANDLE_DW_AT
      33             : #define HANDLE_DW_AT(ID, NAME, VERSION, VENDOR)
      34             : #endif
      35             : 
      36             : #ifndef HANDLE_DW_FORM
      37             : #define HANDLE_DW_FORM(ID, NAME, VERSION, VENDOR)
      38             : #endif
      39             : 
      40             : #ifndef HANDLE_DW_OP
      41             : #define HANDLE_DW_OP(ID, NAME, VERSION, VENDOR)
      42             : #endif
      43             : 
      44             : #ifndef HANDLE_DW_LANG
      45             : #define HANDLE_DW_LANG(ID, NAME, VERSION, VENDOR)
      46             : #endif
      47             : 
      48             : #ifndef HANDLE_DW_ATE
      49             : #define HANDLE_DW_ATE(ID, NAME, VERSION, VENDOR)
      50             : #endif
      51             : 
      52             : #ifndef HANDLE_DW_VIRTUALITY
      53             : #define HANDLE_DW_VIRTUALITY(ID, NAME)
      54             : #endif
      55             : 
      56             : #ifndef HANDLE_DW_DEFAULTED
      57             : #define HANDLE_DW_DEFAULTED(ID, NAME)
      58             : #endif
      59             : 
      60             : #ifndef HANDLE_DW_CC
      61             : #define HANDLE_DW_CC(ID, NAME)
      62             : #endif
      63             : 
      64             : #ifndef HANDLE_DW_LNS
      65             : #define HANDLE_DW_LNS(ID, NAME)
      66             : #endif
      67             : 
      68             : #ifndef HANDLE_DW_LNE
      69             : #define HANDLE_DW_LNE(ID, NAME)
      70             : #endif
      71             : 
      72             : #ifndef HANDLE_DW_LNCT
      73             : #define HANDLE_DW_LNCT(ID, NAME)
      74             : #endif
      75             : 
      76             : #ifndef HANDLE_DW_MACRO
      77             : #define HANDLE_DW_MACRO(ID, NAME)
      78             : #endif
      79             : 
      80             : #ifndef HANDLE_DW_RLE
      81             : #define HANDLE_DW_RLE(ID, NAME)
      82             : #endif
      83             : 
      84             : #ifndef HANDLE_DW_CFA
      85             : #define HANDLE_DW_CFA(ID, NAME)
      86             : #endif
      87             : 
      88             : #ifndef HANDLE_DW_APPLE_PROPERTY
      89             : #define HANDLE_DW_APPLE_PROPERTY(ID, NAME)
      90             : #endif
      91             : 
      92             : #ifndef HANDLE_DW_UT
      93             : #define HANDLE_DW_UT(ID, NAME)
      94             : #endif
      95             : 
      96             : #ifndef HANDLE_DWARF_SECTION
      97             : #define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME)
      98             : #endif
      99             : 
     100             : #ifndef HANDLE_DW_IDX
     101             : #define HANDLE_DW_IDX(ID, NAME)
     102             : #endif
     103             : 
     104             : #ifndef HANDLE_DW_END
     105             : #define HANDLE_DW_END(ID, NAME)
     106             : #endif
     107             : 
     108        4040 : HANDLE_DW_TAG(0x0000, null, 2, DWARF)
     109        4513 : HANDLE_DW_TAG(0x0001, array_type, 2, DWARF)
     110        4733 : HANDLE_DW_TAG(0x0002, class_type, 2, DWARF)
     111        4047 : HANDLE_DW_TAG(0x0003, entry_point, 2, DWARF)
     112        4367 : HANDLE_DW_TAG(0x0004, enumeration_type, 2, DWARF)
     113        7123 : HANDLE_DW_TAG(0x0005, formal_parameter, 2, DWARF)
     114        4458 : HANDLE_DW_TAG(0x0008, imported_declaration, 2, DWARF)
     115        4092 : HANDLE_DW_TAG(0x000a, label, 2, DWARF)
     116        4305 : HANDLE_DW_TAG(0x000b, lexical_block, 2, DWARF)
     117        6230 : HANDLE_DW_TAG(0x000d, member, 2, DWARF)
     118        6793 : HANDLE_DW_TAG(0x000f, pointer_type, 2, DWARF)
     119        4293 : HANDLE_DW_TAG(0x0010, reference_type, 2, DWARF)
     120        6505 : HANDLE_DW_TAG(0x0011, compile_unit, 2, DWARF)
     121        4032 : HANDLE_DW_TAG(0x0012, string_type, 2, DWARF)
     122        6394 : HANDLE_DW_TAG(0x0013, structure_type, 2, DWARF)
     123        4310 : HANDLE_DW_TAG(0x0015, subroutine_type, 2, DWARF)
     124        4869 : HANDLE_DW_TAG(0x0016, typedef, 2, DWARF)
     125        4155 : HANDLE_DW_TAG(0x0017, union_type, 2, DWARF)
     126        4142 : HANDLE_DW_TAG(0x0018, unspecified_parameters, 2, DWARF)
     127        4038 : HANDLE_DW_TAG(0x0019, variant, 2, DWARF)
     128        4032 : HANDLE_DW_TAG(0x001a, common_block, 2, DWARF)
     129        4032 : HANDLE_DW_TAG(0x001b, common_inclusion, 2, DWARF)
     130        4245 : HANDLE_DW_TAG(0x001c, inheritance, 2, DWARF)
     131        5030 : HANDLE_DW_TAG(0x001d, inlined_subroutine, 2, DWARF)
     132        4084 : HANDLE_DW_TAG(0x001e, module, 2, DWARF)
     133        4105 : HANDLE_DW_TAG(0x001f, ptr_to_member_type, 2, DWARF)
     134        4032 : HANDLE_DW_TAG(0x0020, set_type, 2, DWARF)
     135        4298 : HANDLE_DW_TAG(0x0021, subrange_type, 2, DWARF)
     136        4032 : HANDLE_DW_TAG(0x0022, with_stmt, 2, DWARF)
     137        4032 : HANDLE_DW_TAG(0x0023, access_declaration, 2, DWARF)
     138        6310 : HANDLE_DW_TAG(0x0024, base_type, 2, DWARF)
     139        4032 : HANDLE_DW_TAG(0x0025, catch_block, 2, DWARF)
     140        4827 : HANDLE_DW_TAG(0x0026, const_type, 2, DWARF)
     141        4037 : HANDLE_DW_TAG(0x0027, constant, 2, DWARF)
     142        4562 : HANDLE_DW_TAG(0x0028, enumerator, 2, DWARF)
     143        4032 : HANDLE_DW_TAG(0x0029, file_type, 2, DWARF)
     144        4035 : HANDLE_DW_TAG(0x002a, friend, 2, DWARF)
     145        4032 : HANDLE_DW_TAG(0x002b, namelist, 2, DWARF)
     146        4032 : HANDLE_DW_TAG(0x002c, namelist_item, 2, DWARF)
     147        4032 : HANDLE_DW_TAG(0x002d, packed_type, 2, DWARF)
     148        9743 : HANDLE_DW_TAG(0x002e, subprogram, 2, DWARF)
     149        4196 : HANDLE_DW_TAG(0x002f, template_type_parameter, 2, DWARF)
     150        4163 : HANDLE_DW_TAG(0x0030, template_value_parameter, 2, DWARF)
     151        4035 : HANDLE_DW_TAG(0x0031, thrown_type, 2, DWARF)
     152        4032 : HANDLE_DW_TAG(0x0032, try_block, 2, DWARF)
     153        4048 : HANDLE_DW_TAG(0x0033, variant_part, 2, DWARF)
     154        6668 : HANDLE_DW_TAG(0x0034, variable, 2, DWARF)
     155        4216 : HANDLE_DW_TAG(0x0035, volatile_type, 2, DWARF)
     156             : // New in DWARF v3:
     157        4032 : HANDLE_DW_TAG(0x0036, dwarf_procedure, 3, DWARF)
     158        4163 : HANDLE_DW_TAG(0x0037, restrict_type, 3, DWARF)
     159        4032 : HANDLE_DW_TAG(0x0038, interface_type, 3, DWARF)
     160        4385 : HANDLE_DW_TAG(0x0039, namespace, 3, DWARF)
     161        4120 : HANDLE_DW_TAG(0x003a, imported_module, 3, DWARF)
     162        4088 : HANDLE_DW_TAG(0x003b, unspecified_type, 3, DWARF)
     163        4032 : HANDLE_DW_TAG(0x003c, partial_unit, 3, DWARF)
     164        4032 : HANDLE_DW_TAG(0x003d, imported_unit, 3, DWARF)
     165        4032 : HANDLE_DW_TAG(0x003f, condition, 3, DWARF)
     166        4032 : HANDLE_DW_TAG(0x0040, shared_type, 3, DWARF)
     167             : // New in DWARF v4:
     168        4137 : HANDLE_DW_TAG(0x0041, type_unit, 4, DWARF)
     169        4092 : HANDLE_DW_TAG(0x0042, rvalue_reference_type, 4, DWARF)
     170        4032 : HANDLE_DW_TAG(0x0043, template_alias, 4, DWARF)
     171             : // New in DWARF v5:
     172        4032 : HANDLE_DW_TAG(0x0044, coarray_type, 5, DWARF)
     173        4032 : HANDLE_DW_TAG(0x0045, generic_subrange, 5, DWARF)
     174        4032 : HANDLE_DW_TAG(0x0046, dynamic_type, 5, DWARF)
     175        4038 : HANDLE_DW_TAG(0x0047, atomic_type, 5, DWARF)
     176        4047 : HANDLE_DW_TAG(0x0048, call_site, 5, DWARF)
     177        4032 : HANDLE_DW_TAG(0x0049, call_site_parameter, 5, DWARF)
     178        4032 : HANDLE_DW_TAG(0x004a, skeleton_unit, 5, DWARF)
     179        4032 : HANDLE_DW_TAG(0x004b, immutable_type, 5, DWARF)
     180             : // Vendor extensions:
     181        4034 : HANDLE_DW_TAG(0x4081, MIPS_loop, 0, MIPS)
     182        4032 : HANDLE_DW_TAG(0x4101, format_label, 0, GNU)
     183        4032 : HANDLE_DW_TAG(0x4102, function_template, 0, GNU)
     184        4032 : HANDLE_DW_TAG(0x4103, class_template, 0, GNU)
     185        4054 : HANDLE_DW_TAG(0x4106, GNU_template_template_param, 0, GNU)
     186        4077 : HANDLE_DW_TAG(0x4107, GNU_template_parameter_pack, 0, GNU)
     187        4032 : HANDLE_DW_TAG(0x4108, GNU_formal_parameter_pack, 0, GNU)
     188        4033 : HANDLE_DW_TAG(0x4109, GNU_call_site, 0, GNU)
     189        4035 : HANDLE_DW_TAG(0x410a, GNU_call_site_parameter, 0, GNU)
     190        4077 : HANDLE_DW_TAG(0x4200, APPLE_property, 0, APPLE)
     191        4032 : HANDLE_DW_TAG(0xb000, BORLAND_property, 0, BORLAND)
     192        4032 : HANDLE_DW_TAG(0xb001, BORLAND_Delphi_string, 0, BORLAND)
     193        4032 : HANDLE_DW_TAG(0xb002, BORLAND_Delphi_dynamic_array, 0, BORLAND)
     194        4032 : HANDLE_DW_TAG(0xb003, BORLAND_Delphi_set, 0, BORLAND)
     195        4032 : HANDLE_DW_TAG(0xb004, BORLAND_Delphi_variant, 0, BORLAND)
     196             : 
     197             : // Attributes.
     198         457 : HANDLE_DW_AT(0x01, sibling, 2, DWARF)
     199        3862 : HANDLE_DW_AT(0x02, location, 2, DWARF)
     200       17918 : HANDLE_DW_AT(0x03, name, 2, DWARF)
     201         453 : HANDLE_DW_AT(0x09, ordering, 2, DWARF)
     202        4088 : HANDLE_DW_AT(0x0b, byte_size, 2, DWARF)
     203         480 : HANDLE_DW_AT(0x0c, bit_offset, 2, DWARF)
     204         498 : HANDLE_DW_AT(0x0d, bit_size, 2, DWARF)
     205        2789 : HANDLE_DW_AT(0x10, stmt_list, 2, DWARF)
     206        5995 : HANDLE_DW_AT(0x11, low_pc, 2, DWARF)
     207        5574 : HANDLE_DW_AT(0x12, high_pc, 2, DWARF)
     208        2843 : HANDLE_DW_AT(0x13, language, 2, DWARF)
     209         455 : HANDLE_DW_AT(0x15, discr, 2, DWARF)
     210         455 : HANDLE_DW_AT(0x16, discr_value, 2, DWARF)
     211         463 : HANDLE_DW_AT(0x17, visibility, 2, DWARF)
     212         891 : HANDLE_DW_AT(0x18, import, 2, DWARF)
     213         453 : HANDLE_DW_AT(0x19, string_length, 2, DWARF)
     214         453 : HANDLE_DW_AT(0x1a, common_reference, 2, DWARF)
     215        2596 : HANDLE_DW_AT(0x1b, comp_dir, 2, DWARF)
     216        1418 : HANDLE_DW_AT(0x1c, const_value, 2, DWARF)
     217         673 : HANDLE_DW_AT(0x1d, containing_type, 2, DWARF)
     218         453 : HANDLE_DW_AT(0x1e, default_value, 2, DWARF)
     219        1116 : HANDLE_DW_AT(0x20, inline, 2, DWARF)
     220         453 : HANDLE_DW_AT(0x21, is_optional, 2, DWARF)
     221         472 : HANDLE_DW_AT(0x22, lower_bound, 2, DWARF)
     222        2762 : HANDLE_DW_AT(0x25, producer, 2, DWARF)
     223        1384 : HANDLE_DW_AT(0x27, prototyped, 2, DWARF)
     224         453 : HANDLE_DW_AT(0x2a, return_addr, 2, DWARF)
     225         453 : HANDLE_DW_AT(0x2c, start_scope, 2, DWARF)
     226         453 : HANDLE_DW_AT(0x2e, bit_stride, 2, DWARF)
     227         453 : HANDLE_DW_AT(0x2f, upper_bound, 2, DWARF)
     228        2022 : HANDLE_DW_AT(0x31, abstract_origin, 2, DWARF)
     229        1630 : HANDLE_DW_AT(0x32, accessibility, 2, DWARF)
     230         459 : HANDLE_DW_AT(0x33, address_class, 2, DWARF)
     231        1524 : HANDLE_DW_AT(0x34, artificial, 2, DWARF)
     232         453 : HANDLE_DW_AT(0x35, base_types, 2, DWARF)
     233         994 : HANDLE_DW_AT(0x36, calling_convention, 2, DWARF)
     234         697 : HANDLE_DW_AT(0x37, count, 2, DWARF)
     235        1505 : HANDLE_DW_AT(0x38, data_member_location, 2, DWARF)
     236         453 : HANDLE_DW_AT(0x39, decl_column, 2, DWARF)
     237       12103 : HANDLE_DW_AT(0x3a, decl_file, 2, DWARF)
     238       12293 : HANDLE_DW_AT(0x3b, decl_line, 2, DWARF)
     239        3050 : HANDLE_DW_AT(0x3c, declaration, 2, DWARF)
     240         453 : HANDLE_DW_AT(0x3d, discr_list, 2, DWARF)
     241        2508 : HANDLE_DW_AT(0x3e, encoding, 2, DWARF)
     242        5421 : HANDLE_DW_AT(0x3f, external, 2, DWARF)
     243        3095 : HANDLE_DW_AT(0x40, frame_base, 2, DWARF)
     244         455 : HANDLE_DW_AT(0x41, friend, 2, DWARF)
     245         453 : HANDLE_DW_AT(0x42, identifier_case, 2, DWARF)
     246         459 : HANDLE_DW_AT(0x43, macro_info, 2, DWARF)
     247         453 : HANDLE_DW_AT(0x44, namelist_item, 2, DWARF)
     248         453 : HANDLE_DW_AT(0x45, priority, 2, DWARF)
     249         453 : HANDLE_DW_AT(0x46, segment, 2, DWARF)
     250        1121 : HANDLE_DW_AT(0x47, specification, 2, DWARF)
     251         453 : HANDLE_DW_AT(0x48, static_link, 2, DWARF)
     252       12171 : HANDLE_DW_AT(0x49, type, 2, DWARF)
     253         454 : HANDLE_DW_AT(0x4a, use_location, 2, DWARF)
     254         453 : HANDLE_DW_AT(0x4b, variable_parameter, 2, DWARF)
     255         582 : HANDLE_DW_AT(0x4c, virtuality, 2, DWARF)
     256         578 : HANDLE_DW_AT(0x4d, vtable_elem_location, 2, DWARF)
     257             : // New in DWARF v3:
     258         453 : HANDLE_DW_AT(0x4e, allocated, 3, DWARF)
     259         453 : HANDLE_DW_AT(0x4f, associated, 3, DWARF)
     260         453 : HANDLE_DW_AT(0x50, data_location, 3, DWARF)
     261         453 : HANDLE_DW_AT(0x51, byte_stride, 3, DWARF)
     262         457 : HANDLE_DW_AT(0x52, entry_pc, 3, DWARF)
     263         453 : HANDLE_DW_AT(0x53, use_UTF8, 3, DWARF)
     264         453 : HANDLE_DW_AT(0x54, extension, 3, DWARF)
     265        1043 : HANDLE_DW_AT(0x55, ranges, 3, DWARF)
     266         453 : HANDLE_DW_AT(0x56, trampoline, 3, DWARF)
     267         453 : HANDLE_DW_AT(0x57, call_column, 3, DWARF)
     268        1439 : HANDLE_DW_AT(0x58, call_file, 3, DWARF)
     269        1439 : HANDLE_DW_AT(0x59, call_line, 3, DWARF)
     270         453 : HANDLE_DW_AT(0x5a, description, 3, DWARF)
     271         453 : HANDLE_DW_AT(0x5b, binary_scale, 3, DWARF)
     272         453 : HANDLE_DW_AT(0x5c, decimal_scale, 3, DWARF)
     273         453 : HANDLE_DW_AT(0x5d, small, 3, DWARF)
     274         453 : HANDLE_DW_AT(0x5e, decimal_sign, 3, DWARF)
     275         453 : HANDLE_DW_AT(0x5f, digit_count, 3, DWARF)
     276         453 : HANDLE_DW_AT(0x60, picture_string, 3, DWARF)
     277         453 : HANDLE_DW_AT(0x61, mutable, 3, DWARF)
     278         453 : HANDLE_DW_AT(0x62, threads_scaled, 3, DWARF)
     279         592 : HANDLE_DW_AT(0x63, explicit, 3, DWARF)
     280        1089 : HANDLE_DW_AT(0x64, object_pointer, 3, DWARF)
     281         453 : HANDLE_DW_AT(0x65, endianity, 3, DWARF)
     282         453 : HANDLE_DW_AT(0x66, elemental, 3, DWARF)
     283         453 : HANDLE_DW_AT(0x67, pure, 3, DWARF)
     284         453 : HANDLE_DW_AT(0x68, recursive, 3, DWARF)
     285             : // New in DWARF v4:
     286         548 : HANDLE_DW_AT(0x69, signature, 4, DWARF)
     287         463 : HANDLE_DW_AT(0x6a, main_subprogram, 4, DWARF)
     288         471 : HANDLE_DW_AT(0x6b, data_bit_offset, 4, DWARF)
     289         453 : HANDLE_DW_AT(0x6c, const_expr, 4, DWARF)
     290         477 : HANDLE_DW_AT(0x6d, enum_class, 4, DWARF)
     291        2325 : HANDLE_DW_AT(0x6e, linkage_name, 4, DWARF)
     292             : // New in DWARF v5:
     293         453 : HANDLE_DW_AT(0x6f, string_length_bit_size, 5, DWARF)
     294         453 : HANDLE_DW_AT(0x70, string_length_byte_size, 5, DWARF)
     295         453 : HANDLE_DW_AT(0x71, rank, 5, DWARF)
     296         567 : HANDLE_DW_AT(0x72, str_offsets_base, 5, DWARF)
     297         453 : HANDLE_DW_AT(0x73, addr_base, 5, DWARF)
     298         470 : HANDLE_DW_AT(0x74, rnglists_base, 5, DWARF)
     299         453 : HANDLE_DW_AT(0x75, dwo_id, 0, DWARF) ///< Retracted from DWARF v5.
     300         453 : HANDLE_DW_AT(0x76, dwo_name, 5, DWARF)
     301         459 : HANDLE_DW_AT(0x77, reference, 5, DWARF)
     302         459 : HANDLE_DW_AT(0x78, rvalue_reference, 5, DWARF)
     303         453 : HANDLE_DW_AT(0x79, macros, 5, DWARF)
     304         467 : HANDLE_DW_AT(0x7a, call_all_calls, 5, DWARF)
     305         453 : HANDLE_DW_AT(0x7b, call_all_source_calls, 5, DWARF)
     306         453 : HANDLE_DW_AT(0x7c, call_all_tail_calls, 5, DWARF)
     307         463 : HANDLE_DW_AT(0x7d, call_return_pc, 5, DWARF)
     308         453 : HANDLE_DW_AT(0x7e, call_value, 5, DWARF)
     309         468 : HANDLE_DW_AT(0x7f, call_origin, 5, DWARF)
     310         453 : HANDLE_DW_AT(0x80, call_parameter, 5, DWARF)
     311         453 : HANDLE_DW_AT(0x81, call_pc, 5, DWARF)
     312         457 : HANDLE_DW_AT(0x82, call_tail_call, 5, DWARF)
     313         453 : HANDLE_DW_AT(0x83, call_target, 5, DWARF)
     314         453 : HANDLE_DW_AT(0x84, call_target_clobbered, 5, DWARF)
     315         453 : HANDLE_DW_AT(0x85, call_data_location, 5, DWARF)
     316         453 : HANDLE_DW_AT(0x86, call_data_value, 5, DWARF)
     317         662 : HANDLE_DW_AT(0x87, noreturn, 5, DWARF)
     318        1305 : HANDLE_DW_AT(0x88, alignment, 5, DWARF)
     319         523 : HANDLE_DW_AT(0x89, export_symbols, 5, DWARF)
     320         453 : HANDLE_DW_AT(0x8a, deleted, 5, DWARF)
     321         453 : HANDLE_DW_AT(0x8b, defaulted, 5, DWARF)
     322         453 : HANDLE_DW_AT(0x8c, loclists_base, 5, DWARF)
     323             : // Vendor extensions:
     324         462 : HANDLE_DW_AT(0x2002, MIPS_loop_begin, 0, MIPS)
     325         461 : HANDLE_DW_AT(0x2003, MIPS_tail_loop_begin, 0, MIPS)
     326         461 : HANDLE_DW_AT(0x2004, MIPS_epilog_begin, 0, MIPS)
     327         455 : HANDLE_DW_AT(0x2005, MIPS_loop_unroll_factor, 0, MIPS)
     328         461 : HANDLE_DW_AT(0x2006, MIPS_software_pipeline_depth, 0, MIPS)
     329         810 : HANDLE_DW_AT(0x2007, MIPS_linkage_name, 0, MIPS)
     330         461 : HANDLE_DW_AT(0x2008, MIPS_stride, 0, MIPS)
     331         461 : HANDLE_DW_AT(0x2009, MIPS_abstract_name, 0, MIPS)
     332         461 : HANDLE_DW_AT(0x200a, MIPS_clone_origin, 0, MIPS)
     333         455 : HANDLE_DW_AT(0x200b, MIPS_has_inlines, 0, MIPS)
     334         455 : HANDLE_DW_AT(0x200c, MIPS_stride_byte, 0, MIPS)
     335         455 : HANDLE_DW_AT(0x200d, MIPS_stride_elem, 0, MIPS)
     336         455 : HANDLE_DW_AT(0x200e, MIPS_ptr_dopetype, 0, MIPS)
     337         455 : HANDLE_DW_AT(0x200f, MIPS_allocatable_dopetype, 0, MIPS)
     338         461 : HANDLE_DW_AT(0x2010, MIPS_assumed_shape_dopetype, 0, MIPS)
     339             : // This one appears to have only been implemented by Open64 for
     340             : // fortran and may conflict with other extensions.
     341         461 : HANDLE_DW_AT(0x2011, MIPS_assumed_size, 0, MIPS)
     342             : // GNU extensions
     343         453 : HANDLE_DW_AT(0x2101, sf_names, 0, GNU)
     344         453 : HANDLE_DW_AT(0x2102, src_info, 0, GNU)
     345         453 : HANDLE_DW_AT(0x2103, mac_info, 0, GNU)
     346         453 : HANDLE_DW_AT(0x2104, src_coords, 0, GNU)
     347         453 : HANDLE_DW_AT(0x2105, body_begin, 0, GNU)
     348         453 : HANDLE_DW_AT(0x2106, body_end, 0, GNU)
     349         466 : HANDLE_DW_AT(0x2107, GNU_vector, 0, GNU)
     350         467 : HANDLE_DW_AT(0x2110, GNU_template_name, 0, GNU)
     351         462 : HANDLE_DW_AT(0x210f, GNU_odr_signature, 0, GNU)
     352         454 : HANDLE_DW_AT(0x2111, GNU_call_site_value, 0, GNU)
     353         454 : HANDLE_DW_AT(0x2117, GNU_all_call_sites, 0, GNU)
     354         453 : HANDLE_DW_AT(0x2119, GNU_macros, 0, GNU)
     355             : // Extensions for Fission proposal.
     356         668 : HANDLE_DW_AT(0x2130, GNU_dwo_name, 0, GNU)
     357         694 : HANDLE_DW_AT(0x2131, GNU_dwo_id, 0, GNU)
     358         458 : HANDLE_DW_AT(0x2132, GNU_ranges_base, 0, GNU)
     359         538 : HANDLE_DW_AT(0x2133, GNU_addr_base, 0, GNU)
     360        1403 : HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU)
     361         453 : HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU)
     362         460 : HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU)
     363             : // Borland extensions.
     364         453 : HANDLE_DW_AT(0x3b11, BORLAND_property_read, 0, BORLAND)
     365         453 : HANDLE_DW_AT(0x3b12, BORLAND_property_write, 0, BORLAND)
     366         453 : HANDLE_DW_AT(0x3b13, BORLAND_property_implements, 0, BORLAND)
     367         453 : HANDLE_DW_AT(0x3b14, BORLAND_property_index, 0, BORLAND)
     368         453 : HANDLE_DW_AT(0x3b15, BORLAND_property_default, 0, BORLAND)
     369         453 : HANDLE_DW_AT(0x3b20, BORLAND_Delphi_unit, 0, BORLAND)
     370         453 : HANDLE_DW_AT(0x3b21, BORLAND_Delphi_class, 0, BORLAND)
     371         453 : HANDLE_DW_AT(0x3b22, BORLAND_Delphi_record, 0, BORLAND)
     372         453 : HANDLE_DW_AT(0x3b23, BORLAND_Delphi_metaclass, 0, BORLAND)
     373         453 : HANDLE_DW_AT(0x3b24, BORLAND_Delphi_constructor, 0, BORLAND)
     374         453 : HANDLE_DW_AT(0x3b25, BORLAND_Delphi_destructor, 0, BORLAND)
     375         453 : HANDLE_DW_AT(0x3b26, BORLAND_Delphi_anonymous_method, 0, BORLAND)
     376         453 : HANDLE_DW_AT(0x3b27, BORLAND_Delphi_interface, 0, BORLAND)
     377         453 : HANDLE_DW_AT(0x3b28, BORLAND_Delphi_ABI, 0, BORLAND)
     378         453 : HANDLE_DW_AT(0x3b29, BORLAND_Delphi_return, 0, BORLAND)
     379         453 : HANDLE_DW_AT(0x3b30, BORLAND_Delphi_frameptr, 0, BORLAND)
     380         453 : HANDLE_DW_AT(0x3b31, BORLAND_closure, 0, BORLAND)
     381             : // LLVM project extensions.
     382         498 : HANDLE_DW_AT(0x3e00, LLVM_include_path, 0, LLVM)
     383         461 : HANDLE_DW_AT(0x3e01, LLVM_config_macros, 0, LLVM)
     384         502 : HANDLE_DW_AT(0x3e02, LLVM_isysroot, 0, LLVM)
     385             : // Apple extensions.
     386         954 : HANDLE_DW_AT(0x3fe1, APPLE_optimized, 0, APPLE)
     387         455 : HANDLE_DW_AT(0x3fe2, APPLE_flags, 0, APPLE)
     388         540 : HANDLE_DW_AT(0x3fe3, APPLE_isa, 0, APPLE)
     389         463 : HANDLE_DW_AT(0x3fe4, APPLE_block, 0, APPLE)
     390         516 : HANDLE_DW_AT(0x3fe5, APPLE_major_runtime_vers, 0, APPLE)
     391         545 : HANDLE_DW_AT(0x3fe6, APPLE_runtime_class, 0, APPLE)
     392         862 : HANDLE_DW_AT(0x3fe7, APPLE_omit_frame_ptr, 0, APPLE)
     393         498 : HANDLE_DW_AT(0x3fe8, APPLE_property_name, 0, APPLE)
     394         455 : HANDLE_DW_AT(0x3fe9, APPLE_property_getter, 0, APPLE)
     395         455 : HANDLE_DW_AT(0x3fea, APPLE_property_setter, 0, APPLE)
     396         498 : HANDLE_DW_AT(0x3feb, APPLE_property_attribute, 0, APPLE)
     397         488 : HANDLE_DW_AT(0x3fec, APPLE_objc_complete_type, 0, APPLE)
     398         453 : HANDLE_DW_AT(0x3fed, APPLE_property, 0, APPLE)
     399             : 
     400             : // Attribute form encodings.
     401        5333 : HANDLE_DW_FORM(0x01, addr, 2, DWARF)
     402         461 : HANDLE_DW_FORM(0x03, block2, 2, DWARF)
     403         461 : HANDLE_DW_FORM(0x04, block4, 2, DWARF)
     404        4763 : HANDLE_DW_FORM(0x05, data2, 2, DWARF)
     405        5823 : HANDLE_DW_FORM(0x06, data4, 2, DWARF)
     406         700 : HANDLE_DW_FORM(0x07, data8, 2, DWARF)
     407         670 : HANDLE_DW_FORM(0x08, string, 2, DWARF)
     408         461 : HANDLE_DW_FORM(0x09, block, 2, DWARF)
     409        1551 : HANDLE_DW_FORM(0x0a, block1, 2, DWARF)
     410       26591 : HANDLE_DW_FORM(0x0b, data1, 2, DWARF)
     411        1821 : HANDLE_DW_FORM(0x0c, flag, 2, DWARF)
     412         977 : HANDLE_DW_FORM(0x0d, sdata, 2, DWARF)
     413       17725 : HANDLE_DW_FORM(0x0e, strp, 2, DWARF)
     414        1463 : HANDLE_DW_FORM(0x0f, udata, 2, DWARF)
     415         828 : HANDLE_DW_FORM(0x10, ref_addr, 2, DWARF)
     416         474 : HANDLE_DW_FORM(0x11, ref1, 2, DWARF)
     417         467 : HANDLE_DW_FORM(0x12, ref2, 2, DWARF)
     418       12136 : HANDLE_DW_FORM(0x13, ref4, 2, DWARF)
     419         467 : HANDLE_DW_FORM(0x14, ref8, 2, DWARF)
     420         461 : HANDLE_DW_FORM(0x15, ref_udata, 2, DWARF)
     421         453 : HANDLE_DW_FORM(0x16, indirect, 2, DWARF)
     422             : // New in DWARF v4:
     423        3111 : HANDLE_DW_FORM(0x17, sec_offset, 4, DWARF)
     424        3518 : HANDLE_DW_FORM(0x18, exprloc, 4, DWARF)
     425        8779 : HANDLE_DW_FORM(0x19, flag_present, 4, DWARF)
     426             : // This was defined out of sequence.
     427         560 : HANDLE_DW_FORM(0x20, ref_sig8, 4, DWARF)
     428             : // New in DWARF v5:
     429         508 : HANDLE_DW_FORM(0x1a, strx, 5, DWARF)
     430         453 : HANDLE_DW_FORM(0x1b, addrx, 5, DWARF)
     431         453 : HANDLE_DW_FORM(0x1c, ref_sup4, 5, DWARF)
     432         453 : HANDLE_DW_FORM(0x1d, strp_sup, 5, DWARF)
     433         455 : HANDLE_DW_FORM(0x1e, data16, 5, DWARF)
     434         453 : HANDLE_DW_FORM(0x1f, line_strp, 5, DWARF)
     435         460 : HANDLE_DW_FORM(0x21, implicit_const, 5, DWARF)
     436         453 : HANDLE_DW_FORM(0x22, loclistx, 5, DWARF)
     437         456 : HANDLE_DW_FORM(0x23, rnglistx, 5, DWARF)
     438         453 : HANDLE_DW_FORM(0x24, ref_sup8, 5, DWARF)
     439        1235 : HANDLE_DW_FORM(0x25, strx1, 5, DWARF)
     440         462 : HANDLE_DW_FORM(0x26, strx2, 5, DWARF)
     441         459 : HANDLE_DW_FORM(0x27, strx3, 5, DWARF)
     442         460 : HANDLE_DW_FORM(0x28, strx4, 5, DWARF)
     443         453 : HANDLE_DW_FORM(0x29, addrx1, 5, DWARF)
     444         453 : HANDLE_DW_FORM(0x2a, addrx2, 5, DWARF)
     445         453 : HANDLE_DW_FORM(0x2b, addrx3, 5, DWARF)
     446         453 : HANDLE_DW_FORM(0x2c, addrx4, 5, DWARF)
     447             : // Extensions for Fission proposal
     448         576 : HANDLE_DW_FORM(0x1f01, GNU_addr_index, 0, GNU)
     449        1255 : HANDLE_DW_FORM(0x1f02, GNU_str_index, 0, GNU)
     450             : // Alternate debug sections proposal (output of "dwz" tool).
     451         461 : HANDLE_DW_FORM(0x1f20, GNU_ref_alt, 0, GNU)
     452         453 : HANDLE_DW_FORM(0x1f21, GNU_strp_alt, 0, GNU)
     453             : 
     454             : // DWARF Expression operators.
     455         769 : HANDLE_DW_OP(0x03, addr, 2, DWARF)
     456        1721 : HANDLE_DW_OP(0x06, deref, 2, DWARF)
     457         431 : HANDLE_DW_OP(0x08, const1u, 2, DWARF)
     458         431 : HANDLE_DW_OP(0x09, const1s, 2, DWARF)
     459         431 : HANDLE_DW_OP(0x0a, const2u, 2, DWARF)
     460         431 : HANDLE_DW_OP(0x0b, const2s, 2, DWARF)
     461         432 : HANDLE_DW_OP(0x0c, const4u, 2, DWARF)
     462         431 : HANDLE_DW_OP(0x0d, const4s, 2, DWARF)
     463         439 : HANDLE_DW_OP(0x0e, const8u, 2, DWARF)
     464         431 : HANDLE_DW_OP(0x0f, const8s, 2, DWARF)
     465         809 : HANDLE_DW_OP(0x10, constu, 2, DWARF)
     466         545 : HANDLE_DW_OP(0x11, consts, 2, DWARF)
     467         432 : HANDLE_DW_OP(0x12, dup, 2, DWARF)
     468         431 : HANDLE_DW_OP(0x13, drop, 2, DWARF)
     469         431 : HANDLE_DW_OP(0x14, over, 2, DWARF)
     470         431 : HANDLE_DW_OP(0x15, pick, 2, DWARF)
     471         560 : HANDLE_DW_OP(0x16, swap, 2, DWARF)
     472         431 : HANDLE_DW_OP(0x17, rot, 2, DWARF)
     473         560 : HANDLE_DW_OP(0x18, xderef, 2, DWARF)
     474         431 : HANDLE_DW_OP(0x19, abs, 2, DWARF)
     475         544 : HANDLE_DW_OP(0x1a, and, 2, DWARF)
     476         454 : HANDLE_DW_OP(0x1b, div, 2, DWARF)
     477         597 : HANDLE_DW_OP(0x1c, minus, 2, DWARF)
     478         432 : HANDLE_DW_OP(0x1d, mod, 2, DWARF)
     479         437 : HANDLE_DW_OP(0x1e, mul, 2, DWARF)
     480         431 : HANDLE_DW_OP(0x1f, neg, 2, DWARF)
     481         460 : HANDLE_DW_OP(0x20, not, 2, DWARF)
     482         433 : HANDLE_DW_OP(0x21, or, 2, DWARF)
     483         444 : HANDLE_DW_OP(0x22, plus, 2, DWARF)
     484        4621 : HANDLE_DW_OP(0x23, plus_uconst, 2, DWARF)
     485         437 : HANDLE_DW_OP(0x24, shl, 2, DWARF)
     486         434 : HANDLE_DW_OP(0x25, shr, 2, DWARF)
     487         447 : HANDLE_DW_OP(0x26, shra, 2, DWARF)
     488         432 : HANDLE_DW_OP(0x27, xor, 2, DWARF)
     489         431 : HANDLE_DW_OP(0x28, bra, 2, DWARF)
     490         431 : HANDLE_DW_OP(0x29, eq, 2, DWARF)
     491         436 : HANDLE_DW_OP(0x2a, ge, 2, DWARF)
     492         431 : HANDLE_DW_OP(0x2b, gt, 2, DWARF)
     493         431 : HANDLE_DW_OP(0x2c, le, 2, DWARF)
     494         431 : HANDLE_DW_OP(0x2d, lt, 2, DWARF)
     495         431 : HANDLE_DW_OP(0x2e, ne, 2, DWARF)
     496         431 : HANDLE_DW_OP(0x2f, skip, 2, DWARF)
     497         836 : HANDLE_DW_OP(0x30, lit0, 2, DWARF)
     498         656 : HANDLE_DW_OP(0x31, lit1, 2, DWARF)
     499         468 : HANDLE_DW_OP(0x32, lit2, 2, DWARF)
     500         454 : HANDLE_DW_OP(0x33, lit3, 2, DWARF)
     501         451 : HANDLE_DW_OP(0x34, lit4, 2, DWARF)
     502         439 : HANDLE_DW_OP(0x35, lit5, 2, DWARF)
     503         433 : HANDLE_DW_OP(0x36, lit6, 2, DWARF)
     504         433 : HANDLE_DW_OP(0x37, lit7, 2, DWARF)
     505         436 : HANDLE_DW_OP(0x38, lit8, 2, DWARF)
     506         432 : HANDLE_DW_OP(0x39, lit9, 2, DWARF)
     507         432 : HANDLE_DW_OP(0x3a, lit10, 2, DWARF)
     508         438 : HANDLE_DW_OP(0x3b, lit11, 2, DWARF)
     509         433 : HANDLE_DW_OP(0x3c, lit12, 2, DWARF)
     510         439 : HANDLE_DW_OP(0x3d, lit13, 2, DWARF)
     511         433 : HANDLE_DW_OP(0x3e, lit14, 2, DWARF)
     512         437 : HANDLE_DW_OP(0x3f, lit15, 2, DWARF)
     513         434 : HANDLE_DW_OP(0x40, lit16, 2, DWARF)
     514         431 : HANDLE_DW_OP(0x41, lit17, 2, DWARF)
     515         436 : HANDLE_DW_OP(0x42, lit18, 2, DWARF)
     516         436 : HANDLE_DW_OP(0x43, lit19, 2, DWARF)
     517         432 : HANDLE_DW_OP(0x44, lit20, 2, DWARF)
     518         432 : HANDLE_DW_OP(0x45, lit21, 2, DWARF)
     519         431 : HANDLE_DW_OP(0x46, lit22, 2, DWARF)
     520         432 : HANDLE_DW_OP(0x47, lit23, 2, DWARF)
     521         437 : HANDLE_DW_OP(0x48, lit24, 2, DWARF)
     522         435 : HANDLE_DW_OP(0x49, lit25, 2, DWARF)
     523         431 : HANDLE_DW_OP(0x4a, lit26, 2, DWARF)
     524         435 : HANDLE_DW_OP(0x4b, lit27, 2, DWARF)
     525         432 : HANDLE_DW_OP(0x4c, lit28, 2, DWARF)
     526         431 : HANDLE_DW_OP(0x4d, lit29, 2, DWARF)
     527         432 : HANDLE_DW_OP(0x4e, lit30, 2, DWARF)
     528         432 : HANDLE_DW_OP(0x4f, lit31, 2, DWARF)
     529        5119 : HANDLE_DW_OP(0x50, reg0, 2, DWARF)
     530        4084 : HANDLE_DW_OP(0x51, reg1, 2, DWARF)
     531        2983 : HANDLE_DW_OP(0x52, reg2, 2, DWARF)
     532        9001 : HANDLE_DW_OP(0x53, reg3, 2, DWARF)
     533        6443 : HANDLE_DW_OP(0x54, reg4, 2, DWARF)
     534       14797 : HANDLE_DW_OP(0x55, reg5, 2, DWARF)
     535        4270 : HANDLE_DW_OP(0x56, reg6, 2, DWARF)
     536        1266 : HANDLE_DW_OP(0x57, reg7, 2, DWARF)
     537        1267 : HANDLE_DW_OP(0x58, reg8, 2, DWARF)
     538         936 : HANDLE_DW_OP(0x59, reg9, 2, DWARF)
     539         555 : HANDLE_DW_OP(0x5a, reg10, 2, DWARF)
     540         592 : HANDLE_DW_OP(0x5b, reg11, 2, DWARF)
     541        5109 : HANDLE_DW_OP(0x5c, reg12, 2, DWARF)
     542        3196 : HANDLE_DW_OP(0x5d, reg13, 2, DWARF)
     543        6722 : HANDLE_DW_OP(0x5e, reg14, 2, DWARF)
     544        6249 : HANDLE_DW_OP(0x5f, reg15, 2, DWARF)
     545         431 : HANDLE_DW_OP(0x60, reg16, 2, DWARF)
     546         482 : HANDLE_DW_OP(0x61, reg17, 2, DWARF)
     547         442 : HANDLE_DW_OP(0x62, reg18, 2, DWARF)
     548         443 : HANDLE_DW_OP(0x63, reg19, 2, DWARF)
     549         439 : HANDLE_DW_OP(0x64, reg20, 2, DWARF)
     550         436 : HANDLE_DW_OP(0x65, reg21, 2, DWARF)
     551         441 : HANDLE_DW_OP(0x66, reg22, 2, DWARF)
     552         440 : HANDLE_DW_OP(0x67, reg23, 2, DWARF)
     553         435 : HANDLE_DW_OP(0x68, reg24, 2, DWARF)
     554         431 : HANDLE_DW_OP(0x69, reg25, 2, DWARF)
     555         431 : HANDLE_DW_OP(0x6a, reg26, 2, DWARF)
     556         431 : HANDLE_DW_OP(0x6b, reg27, 2, DWARF)
     557         431 : HANDLE_DW_OP(0x6c, reg28, 2, DWARF)
     558         441 : HANDLE_DW_OP(0x6d, reg29, 2, DWARF)
     559         436 : HANDLE_DW_OP(0x6e, reg30, 2, DWARF)
     560         438 : HANDLE_DW_OP(0x6f, reg31, 2, DWARF)
     561         935 : HANDLE_DW_OP(0x70, breg0, 2, DWARF)
     562         520 : HANDLE_DW_OP(0x71, breg1, 2, DWARF)
     563         712 : HANDLE_DW_OP(0x72, breg2, 2, DWARF)
     564        1979 : HANDLE_DW_OP(0x73, breg3, 2, DWARF)
     565         649 : HANDLE_DW_OP(0x74, breg4, 2, DWARF)
     566        5858 : HANDLE_DW_OP(0x75, breg5, 2, DWARF)
     567         680 : HANDLE_DW_OP(0x76, breg6, 2, DWARF)
     568        6630 : HANDLE_DW_OP(0x77, breg7, 2, DWARF)
     569         779 : HANDLE_DW_OP(0x78, breg8, 2, DWARF)
     570         437 : HANDLE_DW_OP(0x79, breg9, 2, DWARF)
     571         431 : HANDLE_DW_OP(0x7a, breg10, 2, DWARF)
     572         489 : HANDLE_DW_OP(0x7b, breg11, 2, DWARF)
     573        1792 : HANDLE_DW_OP(0x7c, breg12, 2, DWARF)
     574         882 : HANDLE_DW_OP(0x7d, breg13, 2, DWARF)
     575        2508 : HANDLE_DW_OP(0x7e, breg14, 2, DWARF)
     576        1842 : HANDLE_DW_OP(0x7f, breg15, 2, DWARF)
     577         436 : HANDLE_DW_OP(0x80, breg16, 2, DWARF)
     578         431 : HANDLE_DW_OP(0x81, breg17, 2, DWARF)
     579         431 : HANDLE_DW_OP(0x82, breg18, 2, DWARF)
     580         431 : HANDLE_DW_OP(0x83, breg19, 2, DWARF)
     581         431 : HANDLE_DW_OP(0x84, breg20, 2, DWARF)
     582         431 : HANDLE_DW_OP(0x85, breg21, 2, DWARF)
     583         431 : HANDLE_DW_OP(0x86, breg22, 2, DWARF)
     584         435 : HANDLE_DW_OP(0x87, breg23, 2, DWARF)
     585         431 : HANDLE_DW_OP(0x88, breg24, 2, DWARF)
     586         431 : HANDLE_DW_OP(0x89, breg25, 2, DWARF)
     587         431 : HANDLE_DW_OP(0x8a, breg26, 2, DWARF)
     588         431 : HANDLE_DW_OP(0x8b, breg27, 2, DWARF)
     589         431 : HANDLE_DW_OP(0x8c, breg28, 2, DWARF)
     590         446 : HANDLE_DW_OP(0x8d, breg29, 2, DWARF)
     591         431 : HANDLE_DW_OP(0x8e, breg30, 2, DWARF)
     592         458 : HANDLE_DW_OP(0x8f, breg31, 2, DWARF)
     593         475 : HANDLE_DW_OP(0x90, regx, 2, DWARF)
     594        1007 : HANDLE_DW_OP(0x91, fbreg, 2, DWARF)
     595         434 : HANDLE_DW_OP(0x92, bregx, 2, DWARF)
     596        1372 : HANDLE_DW_OP(0x93, piece, 2, DWARF)
     597         431 : HANDLE_DW_OP(0x94, deref_size, 2, DWARF)
     598         431 : HANDLE_DW_OP(0x95, xderef_size, 2, DWARF)
     599         431 : HANDLE_DW_OP(0x96, nop, 2, DWARF)
     600             : // New in DWARF v3:
     601         431 : HANDLE_DW_OP(0x97, push_object_address, 3, DWARF)
     602         431 : HANDLE_DW_OP(0x98, call2, 3, DWARF)
     603         431 : HANDLE_DW_OP(0x99, call4, 3, DWARF)
     604         431 : HANDLE_DW_OP(0x9a, call_ref, 3, DWARF)
     605         436 : HANDLE_DW_OP(0x9b, form_tls_address, 3, DWARF)
     606         434 : HANDLE_DW_OP(0x9c, call_frame_cfa, 3, DWARF)
     607         441 : HANDLE_DW_OP(0x9d, bit_piece, 3, DWARF)
     608             : // New in DWARF v4:
     609         431 : HANDLE_DW_OP(0x9e, implicit_value, 4, DWARF)
     610       15060 : HANDLE_DW_OP(0x9f, stack_value, 4, DWARF)
     611             : // New in DWARF v5:
     612         431 : HANDLE_DW_OP(0xa0, implicit_pointer, 5, DWARF)
     613         431 : HANDLE_DW_OP(0xa1, addrx, 5, DWARF)
     614         431 : HANDLE_DW_OP(0xa2, constx, 5, DWARF)
     615         431 : HANDLE_DW_OP(0xa3, entry_value, 5, DWARF)
     616         431 : HANDLE_DW_OP(0xa4, const_type, 5, DWARF)
     617         431 : HANDLE_DW_OP(0xa5, regval_type, 5, DWARF)
     618         431 : HANDLE_DW_OP(0xa6, deref_type, 5, DWARF)
     619         431 : HANDLE_DW_OP(0xa7, xderef_type, 5, DWARF)
     620         431 : HANDLE_DW_OP(0xa8, convert, 5, DWARF)
     621         431 : HANDLE_DW_OP(0xa9, reinterpret, 5, DWARF)
     622             : // Vendor extensions:
     623             : // Extensions for GNU-style thread-local storage.
     624         437 : HANDLE_DW_OP(0xe0, GNU_push_tls_address, 0, GNU)
     625             : // Extensions for Fission proposal.
     626         470 : HANDLE_DW_OP(0xfb, GNU_addr_index, 0, GNU)
     627         431 : HANDLE_DW_OP(0xfc, GNU_const_index, 0, GNU)
     628             : 
     629             : // DWARF languages.
     630        2114 : HANDLE_DW_LANG(0x0001, C89, 2, DWARF)
     631        2145 : HANDLE_DW_LANG(0x0002, C, 2, DWARF)
     632        2086 : HANDLE_DW_LANG(0x0003, Ada83, 2, DWARF)
     633        2783 : HANDLE_DW_LANG(0x0004, C_plus_plus, 2, DWARF)
     634        2086 : HANDLE_DW_LANG(0x0005, Cobol74, 2, DWARF)
     635        2092 : HANDLE_DW_LANG(0x0006, Cobol85, 2, DWARF)
     636        2088 : HANDLE_DW_LANG(0x0007, Fortran77, 2, DWARF)
     637        2086 : HANDLE_DW_LANG(0x0008, Fortran90, 2, DWARF)
     638        2086 : HANDLE_DW_LANG(0x0009, Pascal83, 2, DWARF)
     639        2086 : HANDLE_DW_LANG(0x000a, Modula2, 2, DWARF)
     640             : // New in DWARF v3:
     641        2086 : HANDLE_DW_LANG(0x000b, Java, 3, DWARF)
     642        3038 : HANDLE_DW_LANG(0x000c, C99, 3, DWARF)
     643        2086 : HANDLE_DW_LANG(0x000d, Ada95, 3, DWARF)
     644        2086 : HANDLE_DW_LANG(0x000e, Fortran95, 3, DWARF)
     645        2086 : HANDLE_DW_LANG(0x000f, PLI, 3, DWARF)
     646        2270 : HANDLE_DW_LANG(0x0010, ObjC, 3, DWARF)
     647        2118 : HANDLE_DW_LANG(0x0011, ObjC_plus_plus, 3, DWARF)
     648        2086 : HANDLE_DW_LANG(0x0012, UPC, 3, DWARF)
     649        2086 : HANDLE_DW_LANG(0x0013, D, 3, DWARF)
     650             : // New in DWARF v4:
     651        2086 : HANDLE_DW_LANG(0x0014, Python, 4, DWARF)
     652             : // New in DWARF v5:
     653        2086 : HANDLE_DW_LANG(0x0015, OpenCL, 5, DWARF)
     654        2086 : HANDLE_DW_LANG(0x0016, Go, 5, DWARF)
     655        2086 : HANDLE_DW_LANG(0x0017, Modula3, 5, DWARF)
     656        2086 : HANDLE_DW_LANG(0x0018, Haskell, 5, DWARF)
     657        2086 : HANDLE_DW_LANG(0x0019, C_plus_plus_03, 5, DWARF)
     658        2100 : HANDLE_DW_LANG(0x001a, C_plus_plus_11, 5, DWARF)
     659        2086 : HANDLE_DW_LANG(0x001b, OCaml, 5, DWARF)
     660        2093 : HANDLE_DW_LANG(0x001c, Rust, 5, DWARF)
     661        2086 : HANDLE_DW_LANG(0x001d, C11, 5, DWARF)
     662        2098 : HANDLE_DW_LANG(0x001e, Swift, 5, DWARF)
     663        2093 : HANDLE_DW_LANG(0x001f, Julia, 5, DWARF)
     664        2086 : HANDLE_DW_LANG(0x0020, Dylan, 5, DWARF)
     665        2086 : HANDLE_DW_LANG(0x0021, C_plus_plus_14, 5, DWARF)
     666        2086 : HANDLE_DW_LANG(0x0022, Fortran03, 5, DWARF)
     667        2086 : HANDLE_DW_LANG(0x0023, Fortran08, 5, DWARF)
     668        2086 : HANDLE_DW_LANG(0x0024, RenderScript, 5, DWARF)
     669        2086 : HANDLE_DW_LANG(0x0025, BLISS, 5, DWARF)
     670             : // Vendor extensions:
     671        2107 : HANDLE_DW_LANG(0x8001, Mips_Assembler, 0, MIPS)
     672        2087 : HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, GOOGLE)
     673        2086 : HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, BORLAND)
     674             : 
     675             : // DWARF attribute type encodings.
     676        1559 : HANDLE_DW_ATE(0x01, address, 2, DWARF)
     677        1605 : HANDLE_DW_ATE(0x02, boolean, 2, DWARF)
     678        1563 : HANDLE_DW_ATE(0x03, complex_float, 2, DWARF)
     679        1682 : HANDLE_DW_ATE(0x04, float, 2, DWARF)
     680        2594 : HANDLE_DW_ATE(0x05, signed, 2, DWARF)
     681        1709 : HANDLE_DW_ATE(0x06, signed_char, 2, DWARF)
     682        1865 : HANDLE_DW_ATE(0x07, unsigned, 2, DWARF)
     683        1599 : HANDLE_DW_ATE(0x08, unsigned_char, 2, DWARF)
     684             : // New in DWARF v3:
     685        1559 : HANDLE_DW_ATE(0x09, imaginary_float, 3, DWARF)
     686        1559 : HANDLE_DW_ATE(0x0a, packed_decimal, 3, DWARF)
     687        1559 : HANDLE_DW_ATE(0x0b, numeric_string, 3, DWARF)
     688        1559 : HANDLE_DW_ATE(0x0c, edited, 3, DWARF)
     689        1559 : HANDLE_DW_ATE(0x0d, signed_fixed, 3, DWARF)
     690        1559 : HANDLE_DW_ATE(0x0e, unsigned_fixed, 3, DWARF)
     691        1559 : HANDLE_DW_ATE(0x0f, decimal_float, 3, DWARF)
     692             : // New in DWARF v4:
     693        1563 : HANDLE_DW_ATE(0x10, UTF, 4, DWARF)
     694             : // New in DWARF v5:
     695        1559 : HANDLE_DW_ATE(0x11, UCS, 5, DWARF)
     696        1559 : HANDLE_DW_ATE(0x12, ASCII, 5, DWARF)
     697             : 
     698             : // DWARF attribute endianity
     699             : HANDLE_DW_END(0x00, default)
     700             : HANDLE_DW_END(0x01, big)
     701             : HANDLE_DW_END(0x02, little)
     702             : 
     703             : // DWARF virtuality codes.
     704          75 : HANDLE_DW_VIRTUALITY(0x00, none)
     705         158 : HANDLE_DW_VIRTUALITY(0x01, virtual)
     706          96 : HANDLE_DW_VIRTUALITY(0x02, pure_virtual)
     707             : 
     708             : // DWARF v5 Defaulted Member Encodings.
     709             : HANDLE_DW_DEFAULTED(0x00, no)
     710             : HANDLE_DW_DEFAULTED(0x01, in_class)
     711             : HANDLE_DW_DEFAULTED(0x02, out_of_class)
     712             : 
     713             : // DWARF calling convention codes.
     714          85 : HANDLE_DW_CC(0x01, normal)
     715          79 : HANDLE_DW_CC(0x02, program)
     716          79 : HANDLE_DW_CC(0x03, nocall)
     717             : // New in DWARF v5:
     718          80 : HANDLE_DW_CC(0x04, pass_by_reference)
     719          83 : HANDLE_DW_CC(0x05, pass_by_value)
     720             : // Vendor extensions:
     721          79 : HANDLE_DW_CC(0x40, GNU_renesas_sh)
     722          79 : HANDLE_DW_CC(0x41, GNU_borland_fastcall_i386)
     723          79 : HANDLE_DW_CC(0xb0, BORLAND_safecall)
     724          87 : HANDLE_DW_CC(0xb1, BORLAND_stdcall)
     725          80 : HANDLE_DW_CC(0xb2, BORLAND_pascal)
     726          90 : HANDLE_DW_CC(0xb3, BORLAND_msfastcall)
     727          79 : HANDLE_DW_CC(0xb4, BORLAND_msreturn)
     728         130 : HANDLE_DW_CC(0xb5, BORLAND_thiscall)
     729          79 : HANDLE_DW_CC(0xb6, BORLAND_fastcall)
     730          87 : HANDLE_DW_CC(0xc0, LLVM_vectorcall)
     731          80 : HANDLE_DW_CC(0xc1, LLVM_Win64)
     732          80 : HANDLE_DW_CC(0xc2, LLVM_X86_64SysV)
     733          80 : HANDLE_DW_CC(0xc3, LLVM_AAPCS)
     734          80 : HANDLE_DW_CC(0xc4, LLVM_AAPCS_VFP)
     735          80 : HANDLE_DW_CC(0xc5, LLVM_IntelOclBicc)
     736          82 : HANDLE_DW_CC(0xc6, LLVM_SpirFunction)
     737          86 : HANDLE_DW_CC(0xc7, LLVM_OpenCLKernel)
     738          80 : HANDLE_DW_CC(0xc8, LLVM_Swift)
     739          80 : HANDLE_DW_CC(0xc9, LLVM_PreserveMost)
     740          80 : HANDLE_DW_CC(0xca, LLVM_PreserveAll)
     741          80 : HANDLE_DW_CC(0xcb, LLVM_X86RegCall)
     742             : // From GCC source code (include/dwarf2.h): This DW_CC_ value is not currently
     743             : // generated by any toolchain.  It is used internally to GDB to indicate OpenCL C
     744             : // functions that have been compiled with the IBM XL C for OpenCL compiler and use
     745             : // a non-platform calling convention for passing OpenCL C vector types.
     746          79 : HANDLE_DW_CC(0xff, GDB_IBM_OpenCL)
     747             : 
     748             : // Line Number Extended Opcode Encodings
     749         152 : HANDLE_DW_LNE(0x01, end_sequence)
     750         152 : HANDLE_DW_LNE(0x02, set_address)
     751          22 : HANDLE_DW_LNE(0x03, define_file)
     752             : // New in DWARF v4:
     753          22 : HANDLE_DW_LNE(0x04, set_discriminator)
     754             : 
     755             : // Line Number Standard Opcode Encodings.
     756          82 : HANDLE_DW_LNS(0x00, extended_op)
     757         479 : HANDLE_DW_LNS(0x01, copy)
     758         559 : HANDLE_DW_LNS(0x02, advance_pc)
     759         560 : HANDLE_DW_LNS(0x03, advance_line)
     760         412 : HANDLE_DW_LNS(0x04, set_file)
     761         702 : HANDLE_DW_LNS(0x05, set_column)
     762         556 : HANDLE_DW_LNS(0x06, negate_stmt)
     763         400 : HANDLE_DW_LNS(0x07, set_basic_block)
     764         510 : HANDLE_DW_LNS(0x08, const_add_pc)
     765         400 : HANDLE_DW_LNS(0x09, fixed_advance_pc)
     766             : // New in DWARF v3:
     767         607 : HANDLE_DW_LNS(0x0a, set_prologue_end)
     768         400 : HANDLE_DW_LNS(0x0b, set_epilogue_begin)
     769         400 : HANDLE_DW_LNS(0x0c, set_isa)
     770             : 
     771             : // DWARF v5 Line number header entry format.
     772             : HANDLE_DW_LNCT(0x01, path)
     773             : HANDLE_DW_LNCT(0x02, directory_index)
     774             : HANDLE_DW_LNCT(0x03, timestamp)
     775             : HANDLE_DW_LNCT(0x04, size)
     776             : HANDLE_DW_LNCT(0x05, MD5)
     777             : // A vendor extension until http://dwarfstd.org/ShowIssue.php?issue=180201.1 is
     778             : // accepted and incorporated into the next DWARF standard.
     779             : HANDLE_DW_LNCT(0x2001, LLVM_source)
     780             : 
     781             : // DWARF v5 Macro information.
     782             : HANDLE_DW_MACRO(0x01, define)
     783             : HANDLE_DW_MACRO(0x02, undef)
     784             : HANDLE_DW_MACRO(0x03, start_file)
     785             : HANDLE_DW_MACRO(0x04, end_file)
     786             : HANDLE_DW_MACRO(0x05, define_strp)
     787             : HANDLE_DW_MACRO(0x06, undef_strp)
     788             : HANDLE_DW_MACRO(0x07, import)
     789             : HANDLE_DW_MACRO(0x08, define_sup)
     790             : HANDLE_DW_MACRO(0x09, undef_sup)
     791             : HANDLE_DW_MACRO(0x0a, import_sup)
     792             : HANDLE_DW_MACRO(0x0b, define_strx)
     793             : HANDLE_DW_MACRO(0x0c, undef_strx)
     794             : 
     795             : // DWARF v5 Range List Entry encoding values.
     796          20 : HANDLE_DW_RLE(0x00, end_of_list)
     797           0 : HANDLE_DW_RLE(0x01, base_addressx)
     798           0 : HANDLE_DW_RLE(0x02, startx_endx)
     799           0 : HANDLE_DW_RLE(0x03, startx_length)
     800          14 : HANDLE_DW_RLE(0x04, offset_pair)
     801           4 : HANDLE_DW_RLE(0x05, base_address)
     802           8 : HANDLE_DW_RLE(0x06, start_end)
     803          12 : HANDLE_DW_RLE(0x07, start_length)
     804             : 
     805             : // Call frame instruction encodings.
     806        1443 : HANDLE_DW_CFA(0x00, nop)
     807         490 : HANDLE_DW_CFA(0x40, advance_loc)
     808         314 : HANDLE_DW_CFA(0x80, offset)
     809           7 : HANDLE_DW_CFA(0xc0, restore)
     810           0 : HANDLE_DW_CFA(0x01, set_loc)
     811           6 : HANDLE_DW_CFA(0x02, advance_loc1)
     812           1 : HANDLE_DW_CFA(0x03, advance_loc2)
     813           0 : HANDLE_DW_CFA(0x04, advance_loc4)
     814           0 : HANDLE_DW_CFA(0x05, offset_extended)
     815           0 : HANDLE_DW_CFA(0x06, restore_extended)
     816           3 : HANDLE_DW_CFA(0x07, undefined)
     817           0 : HANDLE_DW_CFA(0x08, same_value)
     818           2 : HANDLE_DW_CFA(0x09, register)
     819           0 : HANDLE_DW_CFA(0x0a, remember_state)
     820           0 : HANDLE_DW_CFA(0x0b, restore_state)
     821         187 : HANDLE_DW_CFA(0x0c, def_cfa)
     822         161 : HANDLE_DW_CFA(0x0d, def_cfa_register)
     823         258 : HANDLE_DW_CFA(0x0e, def_cfa_offset)
     824             : // New in DWARF v3:
     825           6 : HANDLE_DW_CFA(0x0f, def_cfa_expression)
     826           1 : HANDLE_DW_CFA(0x10, expression)
     827           0 : HANDLE_DW_CFA(0x11, offset_extended_sf)
     828           0 : HANDLE_DW_CFA(0x12, def_cfa_sf)
     829           0 : HANDLE_DW_CFA(0x13, def_cfa_offset_sf)
     830           0 : HANDLE_DW_CFA(0x14, val_offset)
     831           0 : HANDLE_DW_CFA(0x15, val_offset_sf)
     832           0 : HANDLE_DW_CFA(0x16, val_expression)
     833             : // Vendor extensions:
     834           0 : HANDLE_DW_CFA(0x1d, MIPS_advance_loc8)
     835           2 : HANDLE_DW_CFA(0x2d, GNU_window_save)
     836           1 : HANDLE_DW_CFA(0x2e, GNU_args_size)
     837             : 
     838             : // Apple Objective-C Property Attributes.
     839             : // Keep this list in sync with clang's DeclSpec.h ObjCPropertyAttributeKind!
     840           3 : HANDLE_DW_APPLE_PROPERTY(0x01, readonly)
     841           0 : HANDLE_DW_APPLE_PROPERTY(0x02, getter)
     842          17 : HANDLE_DW_APPLE_PROPERTY(0x04, assign)
     843          22 : HANDLE_DW_APPLE_PROPERTY(0x08, readwrite)
     844           2 : HANDLE_DW_APPLE_PROPERTY(0x10, retain)
     845           2 : HANDLE_DW_APPLE_PROPERTY(0x20, copy)
     846           3 : HANDLE_DW_APPLE_PROPERTY(0x40, nonatomic)
     847           0 : HANDLE_DW_APPLE_PROPERTY(0x80, setter)
     848          22 : HANDLE_DW_APPLE_PROPERTY(0x100, atomic)
     849           0 : HANDLE_DW_APPLE_PROPERTY(0x200, weak)
     850           2 : HANDLE_DW_APPLE_PROPERTY(0x400, strong)
     851          17 : HANDLE_DW_APPLE_PROPERTY(0x800, unsafe_unretained)
     852           4 : HANDLE_DW_APPLE_PROPERTY(0x1000, nullability)
     853           2 : HANDLE_DW_APPLE_PROPERTY(0x2000, null_resettable)
     854           2 : HANDLE_DW_APPLE_PROPERTY(0x4000, class)
     855             : 
     856             : // DWARF v5 Unit Types.
     857          46 : HANDLE_DW_UT(0x01, compile)
     858          10 : HANDLE_DW_UT(0x02, type)
     859           2 : HANDLE_DW_UT(0x03, partial)
     860           8 : HANDLE_DW_UT(0x04, skeleton)
     861          12 : HANDLE_DW_UT(0x05, split_compile)
     862           8 : HANDLE_DW_UT(0x06, split_type)
     863             : 
     864             : // DWARF section types. (enum name, ELF name, ELF DWO name, cmdline name)
     865             : // Note that these IDs don't mean anything.
     866             : // TODO: Add Mach-O and COFF names.
     867             : // Official DWARF sections.
     868         768 : HANDLE_DWARF_SECTION(DebugAbbrev, ".debug_abbrev", "debug-abbrev")
     869         768 : HANDLE_DWARF_SECTION(DebugAddr, ".debug_addr", "debug-addr")
     870         768 : HANDLE_DWARF_SECTION(DebugAranges, ".debug_aranges", "debug-aranges")
     871         768 : HANDLE_DWARF_SECTION(DebugInfo, ".debug_info", "debug-info")
     872         768 : HANDLE_DWARF_SECTION(DebugTypes, ".debug_types", "debug-types")
     873         768 : HANDLE_DWARF_SECTION(DebugLine, ".debug_line", "debug-line")
     874         768 : HANDLE_DWARF_SECTION(DebugLineStr, ".debug_line_str", "debug-line-str")
     875         768 : HANDLE_DWARF_SECTION(DebugLoc, ".debug_loc", "debug-loc")
     876         768 : HANDLE_DWARF_SECTION(DebugFrame, ".debug_frame", "debug-frame")
     877         768 : HANDLE_DWARF_SECTION(DebugMacro, ".debug_macro", "debug-macro")
     878         768 : HANDLE_DWARF_SECTION(DebugNames, ".debug_names", "debug-names")
     879         768 : HANDLE_DWARF_SECTION(DebugPubnames, ".debug_pubnames", "debug-pubnames")
     880         768 : HANDLE_DWARF_SECTION(DebugPubtypes, ".debug_pubtypes", "debug-pubtypes")
     881         768 : HANDLE_DWARF_SECTION(DebugGnuPubnames, ".debug_gnu_pubnames", "debug-gnu-pubnames")
     882         768 : HANDLE_DWARF_SECTION(DebugGnuPubtypes, ".debug_gnu_pubtypes", "debug-gnu-pubtypes")
     883         768 : HANDLE_DWARF_SECTION(DebugRanges, ".debug_ranges", "debug-ranges")
     884         768 : HANDLE_DWARF_SECTION(DebugRnglists, ".debug_rnglists", "debug-rnglists")
     885         768 : HANDLE_DWARF_SECTION(DebugStr, ".debug_str", "debug-str")
     886         768 : HANDLE_DWARF_SECTION(DebugStrOffsets, ".debug_str_offsets", "debug-str-offsets")
     887         768 : HANDLE_DWARF_SECTION(DebugCUIndex, ".debug_cu_index", "debug-cu-index")
     888         768 : HANDLE_DWARF_SECTION(DebugTUIndex, ".debug_tu_index", "debug-tu-index")
     889             : // Vendor extensions.
     890         768 : HANDLE_DWARF_SECTION(AppleNames, ".apple_names", "apple-names")
     891         768 : HANDLE_DWARF_SECTION(AppleTypes, ".apple_types", "apple-types")
     892         768 : HANDLE_DWARF_SECTION(AppleNamespaces, ".apple_namespaces", "apple-namespaces")
     893         768 : HANDLE_DWARF_SECTION(AppleObjC, ".apple_objc", "apple-objc")
     894         768 : HANDLE_DWARF_SECTION(GdbIndex, ".gdb_index", "gdb-index")
     895             : 
     896         627 : HANDLE_DW_IDX(0x01, compile_unit)
     897           2 : HANDLE_DW_IDX(0x02, type_unit)
     898        1009 : HANDLE_DW_IDX(0x03, die_offset)
     899           0 : HANDLE_DW_IDX(0x04, parent)
     900           0 : HANDLE_DW_IDX(0x05, type_hash)
     901             : 
     902             : 
     903             : #undef HANDLE_DW_TAG
     904             : #undef HANDLE_DW_AT
     905             : #undef HANDLE_DW_FORM
     906             : #undef HANDLE_DW_OP
     907             : #undef HANDLE_DW_LANG
     908             : #undef HANDLE_DW_ATE
     909             : #undef HANDLE_DW_VIRTUALITY
     910             : #undef HANDLE_DW_DEFAULTED
     911             : #undef HANDLE_DW_CC
     912             : #undef HANDLE_DW_LNS
     913             : #undef HANDLE_DW_LNE
     914             : #undef HANDLE_DW_LNCT
     915             : #undef HANDLE_DW_MACRO
     916             : #undef HANDLE_DW_RLE
     917             : #undef HANDLE_DW_CFA
     918             : #undef HANDLE_DW_APPLE_PROPERTY
     919             : #undef HANDLE_DW_UT
     920             : #undef HANDLE_DWARF_SECTION
     921             : #undef HANDLE_DW_IDX
     922             : #undef HANDLE_DW_END

Generated by: LCOV version 1.13