1894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman//===-- llvm/Support/Dwarf.cpp - Dwarf Framework ----------------*- C++ -*-===// 2894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// 3894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// The LLVM Compiler Infrastructure 4894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// 5894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// This file is distributed under the University of Illinois Open Source 6894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// License. See LICENSE.TXT for details. 7894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// 8894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman//===----------------------------------------------------------------------===// 9894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// 10894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// This file contains support for generic dwarf information. 11894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman// 12894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman//===----------------------------------------------------------------------===// 13894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 14894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#include "llvm/Support/Dwarf.h" 15894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanusing namespace llvm; 16894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanusing namespace dwarf; 17894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 18894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// TagString - Return the string for the specified tag. 19894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 20894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::TagString(unsigned Tag) { 21894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Tag) { 22894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_array_type: return "DW_TAG_array_type"; 23894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_class_type: return "DW_TAG_class_type"; 24894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_entry_point: return "DW_TAG_entry_point"; 25894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_enumeration_type: return "DW_TAG_enumeration_type"; 26894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_formal_parameter: return "DW_TAG_formal_parameter"; 27894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_imported_declaration: return "DW_TAG_imported_declaration"; 28894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_label: return "DW_TAG_label"; 29894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_lexical_block: return "DW_TAG_lexical_block"; 30894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_member: return "DW_TAG_member"; 31894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_pointer_type: return "DW_TAG_pointer_type"; 32894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_reference_type: return "DW_TAG_reference_type"; 33894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_compile_unit: return "DW_TAG_compile_unit"; 34894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_string_type: return "DW_TAG_string_type"; 35894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_structure_type: return "DW_TAG_structure_type"; 36894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_subroutine_type: return "DW_TAG_subroutine_type"; 37894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_typedef: return "DW_TAG_typedef"; 38894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_union_type: return "DW_TAG_union_type"; 39894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_unspecified_parameters: return "DW_TAG_unspecified_parameters"; 40894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_variant: return "DW_TAG_variant"; 41894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_common_block: return "DW_TAG_common_block"; 42894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_common_inclusion: return "DW_TAG_common_inclusion"; 43894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_inheritance: return "DW_TAG_inheritance"; 44894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_inlined_subroutine: return "DW_TAG_inlined_subroutine"; 45894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_module: return "DW_TAG_module"; 46894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_ptr_to_member_type: return "DW_TAG_ptr_to_member_type"; 47894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_set_type: return "DW_TAG_set_type"; 48894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_subrange_type: return "DW_TAG_subrange_type"; 49894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_with_stmt: return "DW_TAG_with_stmt"; 50894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_access_declaration: return "DW_TAG_access_declaration"; 51894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_base_type: return "DW_TAG_base_type"; 52894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_catch_block: return "DW_TAG_catch_block"; 53894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_const_type: return "DW_TAG_const_type"; 54894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_constant: return "DW_TAG_constant"; 55894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_enumerator: return "DW_TAG_enumerator"; 56894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_file_type: return "DW_TAG_file_type"; 57894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_friend: return "DW_TAG_friend"; 58894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_namelist: return "DW_TAG_namelist"; 59894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_namelist_item: return "DW_TAG_namelist_item"; 60894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_packed_type: return "DW_TAG_packed_type"; 61894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_subprogram: return "DW_TAG_subprogram"; 62894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_template_type_parameter: return "DW_TAG_template_type_parameter"; 63894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_template_value_parameter:return "DW_TAG_template_value_parameter"; 64894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_thrown_type: return "DW_TAG_thrown_type"; 65894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_try_block: return "DW_TAG_try_block"; 66894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_variant_part: return "DW_TAG_variant_part"; 67894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_variable: return "DW_TAG_variable"; 68894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_volatile_type: return "DW_TAG_volatile_type"; 69894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_dwarf_procedure: return "DW_TAG_dwarf_procedure"; 70894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_restrict_type: return "DW_TAG_restrict_type"; 71894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_interface_type: return "DW_TAG_interface_type"; 72894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_namespace: return "DW_TAG_namespace"; 73894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_imported_module: return "DW_TAG_imported_module"; 74894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_unspecified_type: return "DW_TAG_unspecified_type"; 75894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_partial_unit: return "DW_TAG_partial_unit"; 76894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_imported_unit: return "DW_TAG_imported_unit"; 77894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_condition: return "DW_TAG_condition"; 78894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_shared_type: return "DW_TAG_shared_type"; 79894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_lo_user: return "DW_TAG_lo_user"; 80894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_TAG_hi_user: return "DW_TAG_hi_user"; 8119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_auto_variable: return "DW_TAG_auto_variable"; 8219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_arg_variable: return "DW_TAG_arg_variable"; 8319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_return_variable: return "DW_TAG_return_variable"; 8419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_vector_type: return "DW_TAG_vector_type"; 8519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_rvalue_reference_type: return "DW_TAG_rvalue_reference_type"; 8619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_template_alias: return "DW_TAG_template_alias"; 8719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_MIPS_loop: return "DW_TAG_MIPS_loop"; 8819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_type_unit: return "DW_TAG_type_unit"; 8919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_format_label: return "DW_TAG_format_label"; 9019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_function_template: return "DW_TAG_function_template"; 9119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_class_template: return "DW_TAG_class_template"; 9219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_GNU_template_template_param: 9319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman return "DW_TAG_GNU_template_template_param"; 9419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_GNU_template_parameter_pack: 9519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman return "DW_TAG_GNU_template_parameter_pack"; 9619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_TAG_GNU_formal_parameter_pack: 9719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman return "DW_TAG_GNU_formal_parameter_pack"; 98894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 99894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 100894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 101894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 102894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// ChildrenString - Return the string for the specified children flag. 103894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 104894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::ChildrenString(unsigned Children) { 105894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Children) { 106894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CHILDREN_no: return "DW_CHILDREN_no"; 107894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CHILDREN_yes: return "DW_CHILDREN_yes"; 108894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 109894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 110894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 111894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 112894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// AttributeString - Return the string for the specified attribute. 113894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 114894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::AttributeString(unsigned Attribute) { 115894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Attribute) { 116894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_sibling: return "DW_AT_sibling"; 117894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_location: return "DW_AT_location"; 118894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_name: return "DW_AT_name"; 119894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_ordering: return "DW_AT_ordering"; 120894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_byte_size: return "DW_AT_byte_size"; 121894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_bit_offset: return "DW_AT_bit_offset"; 122894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_bit_size: return "DW_AT_bit_size"; 123894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_stmt_list: return "DW_AT_stmt_list"; 124894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_low_pc: return "DW_AT_low_pc"; 125894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_high_pc: return "DW_AT_high_pc"; 126894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_language: return "DW_AT_language"; 127894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_discr: return "DW_AT_discr"; 128894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_discr_value: return "DW_AT_discr_value"; 129894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_visibility: return "DW_AT_visibility"; 130894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_import: return "DW_AT_import"; 131894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_string_length: return "DW_AT_string_length"; 132894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_common_reference: return "DW_AT_common_reference"; 133894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_comp_dir: return "DW_AT_comp_dir"; 134894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_const_value: return "DW_AT_const_value"; 135894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_containing_type: return "DW_AT_containing_type"; 136894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_default_value: return "DW_AT_default_value"; 137894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_inline: return "DW_AT_inline"; 138894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_is_optional: return "DW_AT_is_optional"; 139894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_lower_bound: return "DW_AT_lower_bound"; 140894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_producer: return "DW_AT_producer"; 141894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_prototyped: return "DW_AT_prototyped"; 142894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_return_addr: return "DW_AT_return_addr"; 143894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_start_scope: return "DW_AT_start_scope"; 144894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_bit_stride: return "DW_AT_bit_stride"; 145894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_upper_bound: return "DW_AT_upper_bound"; 146894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_abstract_origin: return "DW_AT_abstract_origin"; 147894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_accessibility: return "DW_AT_accessibility"; 148894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_address_class: return "DW_AT_address_class"; 149894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_artificial: return "DW_AT_artificial"; 150894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_base_types: return "DW_AT_base_types"; 151894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_calling_convention: return "DW_AT_calling_convention"; 152894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_count: return "DW_AT_count"; 153894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_data_member_location: return "DW_AT_data_member_location"; 154894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_decl_column: return "DW_AT_decl_column"; 155894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_decl_file: return "DW_AT_decl_file"; 156894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_decl_line: return "DW_AT_decl_line"; 157894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_declaration: return "DW_AT_declaration"; 158894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_discr_list: return "DW_AT_discr_list"; 159894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_encoding: return "DW_AT_encoding"; 160894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_external: return "DW_AT_external"; 161894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_frame_base: return "DW_AT_frame_base"; 162894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_friend: return "DW_AT_friend"; 163894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_identifier_case: return "DW_AT_identifier_case"; 164894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_macro_info: return "DW_AT_macro_info"; 165894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_namelist_item: return "DW_AT_namelist_item"; 166894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_priority: return "DW_AT_priority"; 167894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_segment: return "DW_AT_segment"; 168894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_specification: return "DW_AT_specification"; 169894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_static_link: return "DW_AT_static_link"; 170894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_type: return "DW_AT_type"; 171894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_use_location: return "DW_AT_use_location"; 172894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_variable_parameter: return "DW_AT_variable_parameter"; 173894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_virtuality: return "DW_AT_virtuality"; 174894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_vtable_elem_location: return "DW_AT_vtable_elem_location"; 175894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_allocated: return "DW_AT_allocated"; 176894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_associated: return "DW_AT_associated"; 177894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_data_location: return "DW_AT_data_location"; 178894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_byte_stride: return "DW_AT_byte_stride"; 179894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_entry_pc: return "DW_AT_entry_pc"; 180894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_use_UTF8: return "DW_AT_use_UTF8"; 181894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_extension: return "DW_AT_extension"; 182894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_ranges: return "DW_AT_ranges"; 183894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_trampoline: return "DW_AT_trampoline"; 184894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_call_column: return "DW_AT_call_column"; 185894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_call_file: return "DW_AT_call_file"; 186894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_call_line: return "DW_AT_call_line"; 187894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_description: return "DW_AT_description"; 188894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_binary_scale: return "DW_AT_binary_scale"; 189894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_decimal_scale: return "DW_AT_decimal_scale"; 190894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_small: return "DW_AT_small"; 191894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_decimal_sign: return "DW_AT_decimal_sign"; 192894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_digit_count: return "DW_AT_digit_count"; 193894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_picture_string: return "DW_AT_picture_string"; 194894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_mutable: return "DW_AT_mutable"; 195894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_threads_scaled: return "DW_AT_threads_scaled"; 196894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_explicit: return "DW_AT_explicit"; 197894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_object_pointer: return "DW_AT_object_pointer"; 198894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_endianity: return "DW_AT_endianity"; 199894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_elemental: return "DW_AT_elemental"; 200894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_pure: return "DW_AT_pure"; 201894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_recursive: return "DW_AT_recursive"; 20219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_signature: return "DW_AT_signature"; 20319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_main_subprogram: return "DW_AT_main_subprogram"; 20419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_data_bit_offset: return "DW_AT_data_bit_offset"; 20519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_const_expr: return "DW_AT_const_expr"; 20619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_enum_class: return "DW_AT_enum_class"; 20719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_linkage_name: return "DW_AT_linkage_name"; 20819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_loop_begin: return "DW_AT_MIPS_loop_begin"; 20919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_tail_loop_begin: return "DW_AT_MIPS_tail_loop_begin"; 21019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_epilog_begin: return "DW_AT_MIPS_epilog_begin"; 21119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_loop_unroll_factor: return "DW_AT_MIPS_loop_unroll_factor"; 21219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_software_pipeline_depth: 21319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman return "DW_AT_MIPS_software_pipeline_depth"; 214894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_MIPS_linkage_name: return "DW_AT_MIPS_linkage_name"; 21519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_stride: return "DW_AT_MIPS_stride"; 21619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_abstract_name: return "DW_AT_MIPS_abstract_name"; 21719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_clone_origin: return "DW_AT_MIPS_clone_origin"; 21819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_has_inlines: return "DW_AT_MIPS_has_inlines"; 21919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_stride_byte: return "DW_AT_MIPS_stride_byte"; 22019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_stride_elem: return "DW_AT_MIPS_stride_elem"; 22119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_ptr_dopetype: return "DW_AT_MIPS_ptr_dopetype"; 22219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_allocatable_dopetype: 22319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman return "DW_AT_MIPS_allocatable_dopetype"; 22419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_assumed_shape_dopetype: 22519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman return "DW_AT_MIPS_assumed_shape_dopetype"; 226894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_sf_names: return "DW_AT_sf_names"; 227894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_src_info: return "DW_AT_src_info"; 228894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_mac_info: return "DW_AT_mac_info"; 229894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_src_coords: return "DW_AT_src_coords"; 230894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_body_begin: return "DW_AT_body_begin"; 231894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_body_end: return "DW_AT_body_end"; 232894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_GNU_vector: return "DW_AT_GNU_vector"; 23319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_GNU_template_name: return "DW_AT_GNU_template_name"; 23419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_MIPS_assumed_size: return "DW_AT_MIPS_assumed_size"; 235894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_lo_user: return "DW_AT_lo_user"; 236894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_hi_user: return "DW_AT_hi_user"; 237894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_optimized: return "DW_AT_APPLE_optimized"; 238894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_flags: return "DW_AT_APPLE_flags"; 239894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_isa: return "DW_AT_APPLE_isa"; 240894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_block: return "DW_AT_APPLE_block"; 241894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_major_runtime_vers: return "DW_AT_APPLE_major_runtime_vers"; 242894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_runtime_class: return "DW_AT_APPLE_runtime_class"; 243894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_AT_APPLE_omit_frame_ptr: return "DW_AT_APPLE_omit_frame_ptr"; 24419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_APPLE_property_name: return "DW_AT_APPLE_property_name"; 24519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_APPLE_property_getter: return "DW_AT_APPLE_property_getter"; 24619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_APPLE_property_setter: return "DW_AT_APPLE_property_setter"; 24719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_APPLE_property_attribute: return "DW_AT_APPLE_property_attribute"; 24819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_AT_APPLE_objc_complete_type: return "DW_AT_APPLE_objc_complete_type"; 249894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 250894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 251894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 252894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 253894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// FormEncodingString - Return the string for the specified form encoding. 254894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 255894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::FormEncodingString(unsigned Encoding) { 256894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Encoding) { 257894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_addr: return "DW_FORM_addr"; 258894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_block2: return "DW_FORM_block2"; 259894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_block4: return "DW_FORM_block4"; 260894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_data2: return "DW_FORM_data2"; 261894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_data4: return "DW_FORM_data4"; 262894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_data8: return "DW_FORM_data8"; 263894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_string: return "DW_FORM_string"; 264894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_block: return "DW_FORM_block"; 265894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_block1: return "DW_FORM_block1"; 266894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_data1: return "DW_FORM_data1"; 267894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_flag: return "DW_FORM_flag"; 268894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_sdata: return "DW_FORM_sdata"; 269894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_strp: return "DW_FORM_strp"; 270894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_udata: return "DW_FORM_udata"; 271894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_ref_addr: return "DW_FORM_ref_addr"; 272894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_ref1: return "DW_FORM_ref1"; 273894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_ref2: return "DW_FORM_ref2"; 274894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_ref4: return "DW_FORM_ref4"; 275894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_ref8: return "DW_FORM_ref8"; 276894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_ref_udata: return "DW_FORM_ref_udata"; 277894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_FORM_indirect: return "DW_FORM_indirect"; 27819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_FORM_sec_offset: return "DW_FORM_sec_offset"; 27919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_FORM_exprloc: return "DW_FORM_exprloc"; 28019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_FORM_flag_present: return "DW_FORM_flag_present"; 28119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_FORM_ref_sig8: return "DW_FORM_ref_sig8"; 282894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 283894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 284894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 285894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 286894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// OperationEncodingString - Return the string for the specified operation 287894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// encoding. 288894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::OperationEncodingString(unsigned Encoding) { 289894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Encoding) { 290894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_addr: return "DW_OP_addr"; 291894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_deref: return "DW_OP_deref"; 292894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const1u: return "DW_OP_const1u"; 293894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const1s: return "DW_OP_const1s"; 294894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const2u: return "DW_OP_const2u"; 295894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const2s: return "DW_OP_const2s"; 296894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const4u: return "DW_OP_const4u"; 297894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const4s: return "DW_OP_const4s"; 298894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const8u: return "DW_OP_const8u"; 299894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_const8s: return "DW_OP_const8s"; 300894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_constu: return "DW_OP_constu"; 301894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_consts: return "DW_OP_consts"; 302894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_dup: return "DW_OP_dup"; 303894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_drop: return "DW_OP_drop"; 304894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_over: return "DW_OP_over"; 305894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_pick: return "DW_OP_pick"; 306894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_swap: return "DW_OP_swap"; 307894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_rot: return "DW_OP_rot"; 308894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_xderef: return "DW_OP_xderef"; 309894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_abs: return "DW_OP_abs"; 310894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_and: return "DW_OP_and"; 311894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_div: return "DW_OP_div"; 312894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_minus: return "DW_OP_minus"; 313894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_mod: return "DW_OP_mod"; 314894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_mul: return "DW_OP_mul"; 315894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_neg: return "DW_OP_neg"; 316894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_not: return "DW_OP_not"; 317894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_or: return "DW_OP_or"; 318894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_plus: return "DW_OP_plus"; 319894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_plus_uconst: return "DW_OP_plus_uconst"; 320894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_shl: return "DW_OP_shl"; 321894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_shr: return "DW_OP_shr"; 322894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_shra: return "DW_OP_shra"; 323894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_xor: return "DW_OP_xor"; 324894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_skip: return "DW_OP_skip"; 325894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_bra: return "DW_OP_bra"; 326894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_eq: return "DW_OP_eq"; 327894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_ge: return "DW_OP_ge"; 328894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_gt: return "DW_OP_gt"; 329894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_le: return "DW_OP_le"; 330894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lt: return "DW_OP_lt"; 331894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_ne: return "DW_OP_ne"; 332894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit0: return "DW_OP_lit0"; 333894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit1: return "DW_OP_lit1"; 334894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit2: return "DW_OP_lit2"; 335894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit3: return "DW_OP_lit3"; 336894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit4: return "DW_OP_lit4"; 337894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit5: return "DW_OP_lit5"; 338894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit6: return "DW_OP_lit6"; 339894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit7: return "DW_OP_lit7"; 340894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit8: return "DW_OP_lit8"; 341894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit9: return "DW_OP_lit9"; 342894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit10: return "DW_OP_lit10"; 343894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit11: return "DW_OP_lit11"; 344894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit12: return "DW_OP_lit12"; 345894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit13: return "DW_OP_lit13"; 346894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit14: return "DW_OP_lit14"; 347894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit15: return "DW_OP_lit15"; 348894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit16: return "DW_OP_lit16"; 349894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit17: return "DW_OP_lit17"; 350894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit18: return "DW_OP_lit18"; 351894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit19: return "DW_OP_lit19"; 352894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit20: return "DW_OP_lit20"; 353894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit21: return "DW_OP_lit21"; 354894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit22: return "DW_OP_lit22"; 355894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit23: return "DW_OP_lit23"; 356894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit24: return "DW_OP_lit24"; 357894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit25: return "DW_OP_lit25"; 358894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit26: return "DW_OP_lit26"; 359894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit27: return "DW_OP_lit27"; 360894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit28: return "DW_OP_lit28"; 361894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit29: return "DW_OP_lit29"; 362894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit30: return "DW_OP_lit30"; 363894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lit31: return "DW_OP_lit31"; 364894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg0: return "DW_OP_reg0"; 365894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg1: return "DW_OP_reg1"; 366894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg2: return "DW_OP_reg2"; 367894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg3: return "DW_OP_reg3"; 368894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg4: return "DW_OP_reg4"; 369894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg5: return "DW_OP_reg5"; 370894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg6: return "DW_OP_reg6"; 371894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg7: return "DW_OP_reg7"; 372894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg8: return "DW_OP_reg8"; 373894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg9: return "DW_OP_reg9"; 374894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg10: return "DW_OP_reg10"; 375894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg11: return "DW_OP_reg11"; 376894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg12: return "DW_OP_reg12"; 377894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg13: return "DW_OP_reg13"; 378894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg14: return "DW_OP_reg14"; 379894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg15: return "DW_OP_reg15"; 380894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg16: return "DW_OP_reg16"; 381894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg17: return "DW_OP_reg17"; 382894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg18: return "DW_OP_reg18"; 383894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg19: return "DW_OP_reg19"; 384894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg20: return "DW_OP_reg20"; 385894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg21: return "DW_OP_reg21"; 386894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg22: return "DW_OP_reg22"; 387894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg23: return "DW_OP_reg23"; 388894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg24: return "DW_OP_reg24"; 389894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg25: return "DW_OP_reg25"; 390894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg26: return "DW_OP_reg26"; 391894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg27: return "DW_OP_reg27"; 392894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg28: return "DW_OP_reg28"; 393894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg29: return "DW_OP_reg29"; 394894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg30: return "DW_OP_reg30"; 395894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_reg31: return "DW_OP_reg31"; 396894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg0: return "DW_OP_breg0"; 397894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg1: return "DW_OP_breg1"; 398894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg2: return "DW_OP_breg2"; 399894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg3: return "DW_OP_breg3"; 400894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg4: return "DW_OP_breg4"; 401894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg5: return "DW_OP_breg5"; 402894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg6: return "DW_OP_breg6"; 403894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg7: return "DW_OP_breg7"; 404894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg8: return "DW_OP_breg8"; 405894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg9: return "DW_OP_breg9"; 406894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg10: return "DW_OP_breg10"; 407894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg11: return "DW_OP_breg11"; 408894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg12: return "DW_OP_breg12"; 409894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg13: return "DW_OP_breg13"; 410894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg14: return "DW_OP_breg14"; 411894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg15: return "DW_OP_breg15"; 412894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg16: return "DW_OP_breg16"; 413894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg17: return "DW_OP_breg17"; 414894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg18: return "DW_OP_breg18"; 415894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg19: return "DW_OP_breg19"; 416894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg20: return "DW_OP_breg20"; 417894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg21: return "DW_OP_breg21"; 418894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg22: return "DW_OP_breg22"; 419894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg23: return "DW_OP_breg23"; 420894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg24: return "DW_OP_breg24"; 421894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg25: return "DW_OP_breg25"; 422894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg26: return "DW_OP_breg26"; 423894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg27: return "DW_OP_breg27"; 424894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg28: return "DW_OP_breg28"; 425894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg29: return "DW_OP_breg29"; 426894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg30: return "DW_OP_breg30"; 427894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_breg31: return "DW_OP_breg31"; 428894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_regx: return "DW_OP_regx"; 429894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_fbreg: return "DW_OP_fbreg"; 430894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_bregx: return "DW_OP_bregx"; 431894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_piece: return "DW_OP_piece"; 432894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_deref_size: return "DW_OP_deref_size"; 433894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_xderef_size: return "DW_OP_xderef_size"; 434894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_nop: return "DW_OP_nop"; 435894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_push_object_address: return "DW_OP_push_object_address"; 436894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_call2: return "DW_OP_call2"; 437894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_call4: return "DW_OP_call4"; 438894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_call_ref: return "DW_OP_call_ref"; 439894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_form_tls_address: return "DW_OP_form_tls_address"; 440894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_call_frame_cfa: return "DW_OP_call_frame_cfa"; 44119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_OP_bit_piece: return "DW_OP_bit_piece"; 44219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_OP_implicit_value: return "DW_OP_implicit_value"; 44319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_OP_stack_value: return "DW_OP_stack_value"; 444894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_lo_user: return "DW_OP_lo_user"; 445894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_OP_hi_user: return "DW_OP_hi_user"; 446894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 447894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 448894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 449894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 450894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// AttributeEncodingString - Return the string for the specified attribute 451894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// encoding. 452894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::AttributeEncodingString(unsigned Encoding) { 453894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Encoding) { 454894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_address: return "DW_ATE_address"; 455894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_boolean: return "DW_ATE_boolean"; 456894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_complex_float: return "DW_ATE_complex_float"; 457894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_float: return "DW_ATE_float"; 458894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_signed: return "DW_ATE_signed"; 459894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_signed_char: return "DW_ATE_signed_char"; 460894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_unsigned: return "DW_ATE_unsigned"; 461894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_unsigned_char: return "DW_ATE_unsigned_char"; 462894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_imaginary_float: return "DW_ATE_imaginary_float"; 46319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_ATE_UTF: return "DW_ATE_UTF"; 464894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_packed_decimal: return "DW_ATE_packed_decimal"; 465894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_numeric_string: return "DW_ATE_numeric_string"; 466894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_edited: return "DW_ATE_edited"; 467894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_signed_fixed: return "DW_ATE_signed_fixed"; 468894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_unsigned_fixed: return "DW_ATE_unsigned_fixed"; 469894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_decimal_float: return "DW_ATE_decimal_float"; 470894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_lo_user: return "DW_ATE_lo_user"; 471894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ATE_hi_user: return "DW_ATE_hi_user"; 472894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 473894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 474894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 475894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 476894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// DecimalSignString - Return the string for the specified decimal sign 477894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// attribute. 478894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::DecimalSignString(unsigned Sign) { 479894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Sign) { 480894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DS_unsigned: return "DW_DS_unsigned"; 481894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DS_leading_overpunch: return "DW_DS_leading_overpunch"; 482894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DS_trailing_overpunch: return "DW_DS_trailing_overpunch"; 483894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DS_leading_separate: return "DW_DS_leading_separate"; 484894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DS_trailing_separate: return "DW_DS_trailing_separate"; 485894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 486894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 487894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 488894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 489894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// EndianityString - Return the string for the specified endianity. 490894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 491894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::EndianityString(unsigned Endian) { 492894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Endian) { 493894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_END_default: return "DW_END_default"; 494894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_END_big: return "DW_END_big"; 495894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_END_little: return "DW_END_little"; 496894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_END_lo_user: return "DW_END_lo_user"; 497894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_END_hi_user: return "DW_END_hi_user"; 498894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 499894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 500894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 501894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 502894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// AccessibilityString - Return the string for the specified accessibility. 503894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 504894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::AccessibilityString(unsigned Access) { 505894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Access) { 506894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Accessibility codes 507894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ACCESS_public: return "DW_ACCESS_public"; 508894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ACCESS_protected: return "DW_ACCESS_protected"; 509894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ACCESS_private: return "DW_ACCESS_private"; 510894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 511894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 512894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 513894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 514894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// VisibilityString - Return the string for the specified visibility. 515894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 516894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::VisibilityString(unsigned Visibility) { 517894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Visibility) { 518894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_VIS_local: return "DW_VIS_local"; 519894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_VIS_exported: return "DW_VIS_exported"; 520894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_VIS_qualified: return "DW_VIS_qualified"; 521894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 522894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 523894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 524894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 525894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// VirtualityString - Return the string for the specified virtuality. 526894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 527894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::VirtualityString(unsigned Virtuality) { 528894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Virtuality) { 529894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_VIRTUALITY_none: return "DW_VIRTUALITY_none"; 530894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_VIRTUALITY_virtual: return "DW_VIRTUALITY_virtual"; 531894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_VIRTUALITY_pure_virtual: return "DW_VIRTUALITY_pure_virtual"; 532894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 533894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 534894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 535894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 536894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// LanguageString - Return the string for the specified language. 537894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 538894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::LanguageString(unsigned Language) { 539894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Language) { 540894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_C89: return "DW_LANG_C89"; 541894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_C: return "DW_LANG_C"; 542894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Ada83: return "DW_LANG_Ada83"; 543894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_C_plus_plus: return "DW_LANG_C_plus_plus"; 544894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Cobol74: return "DW_LANG_Cobol74"; 545894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Cobol85: return "DW_LANG_Cobol85"; 546894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Fortran77: return "DW_LANG_Fortran77"; 547894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Fortran90: return "DW_LANG_Fortran90"; 548894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Pascal83: return "DW_LANG_Pascal83"; 549894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Modula2: return "DW_LANG_Modula2"; 550894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Java: return "DW_LANG_Java"; 551894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_C99: return "DW_LANG_C99"; 552894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Ada95: return "DW_LANG_Ada95"; 553894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_Fortran95: return "DW_LANG_Fortran95"; 554894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_PLI: return "DW_LANG_PLI"; 555894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_ObjC: return "DW_LANG_ObjC"; 556894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_ObjC_plus_plus: return "DW_LANG_ObjC_plus_plus"; 557894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_UPC: return "DW_LANG_UPC"; 558894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_D: return "DW_LANG_D"; 559894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_lo_user: return "DW_LANG_lo_user"; 560894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LANG_hi_user: return "DW_LANG_hi_user"; 561894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 562894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 563894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 564894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 565894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// CaseString - Return the string for the specified identifier case. 566894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 567894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::CaseString(unsigned Case) { 568894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Case) { 569894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ID_case_sensitive: return "DW_ID_case_sensitive"; 570894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ID_up_case: return "DW_ID_up_case"; 571894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ID_down_case: return "DW_ID_down_case"; 572894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ID_case_insensitive: return "DW_ID_case_insensitive"; 573894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 574894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 575894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 576894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 577894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// ConventionString - Return the string for the specified calling convention. 578894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 579894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::ConventionString(unsigned Convention) { 580894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Convention) { 581894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CC_normal: return "DW_CC_normal"; 582894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CC_program: return "DW_CC_program"; 583894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CC_nocall: return "DW_CC_nocall"; 584894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CC_lo_user: return "DW_CC_lo_user"; 585894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CC_hi_user: return "DW_CC_hi_user"; 586894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 587894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 588894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 589894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 590894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// InlineCodeString - Return the string for the specified inline code. 591894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 592894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::InlineCodeString(unsigned Code) { 593894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Code) { 594894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_INL_not_inlined: return "DW_INL_not_inlined"; 595894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_INL_inlined: return "DW_INL_inlined"; 596894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_INL_declared_not_inlined: return "DW_INL_declared_not_inlined"; 597894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_INL_declared_inlined: return "DW_INL_declared_inlined"; 598894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 599894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 600894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 601894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 602894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// ArrayOrderString - Return the string for the specified array order. 603894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 604894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::ArrayOrderString(unsigned Order) { 605894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Order) { 606894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ORD_row_major: return "DW_ORD_row_major"; 607894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_ORD_col_major: return "DW_ORD_col_major"; 608894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 609894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 610894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 611894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 612894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// DiscriminantString - Return the string for the specified discriminant 613894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// descriptor. 614894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::DiscriminantString(unsigned Discriminant) { 615894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Discriminant) { 616894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DSC_label: return "DW_DSC_label"; 617894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_DSC_range: return "DW_DSC_range"; 618894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 619894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 620894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 621894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 622894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// LNStandardString - Return the string for the specified line number standard. 623894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 624894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::LNStandardString(unsigned Standard) { 625894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Standard) { 626894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_copy: return "DW_LNS_copy"; 627894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_advance_pc: return "DW_LNS_advance_pc"; 628894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_advance_line: return "DW_LNS_advance_line"; 629894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_set_file: return "DW_LNS_set_file"; 630894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_set_column: return "DW_LNS_set_column"; 631894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_negate_stmt: return "DW_LNS_negate_stmt"; 632894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_set_basic_block: return "DW_LNS_set_basic_block"; 633894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_const_add_pc: return "DW_LNS_const_add_pc"; 634894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_fixed_advance_pc: return "DW_LNS_fixed_advance_pc"; 635894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_set_prologue_end: return "DW_LNS_set_prologue_end"; 636894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_set_epilogue_begin: return "DW_LNS_set_epilogue_begin"; 637894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNS_set_isa: return "DW_LNS_set_isa"; 638894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 639894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 640894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 641894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 642894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// LNExtendedString - Return the string for the specified line number extended 643894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// opcode encodings. 644894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::LNExtendedString(unsigned Encoding) { 645894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Encoding) { 646894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Line Number Extended Opcode Encodings 647894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNE_end_sequence: return "DW_LNE_end_sequence"; 648894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNE_set_address: return "DW_LNE_set_address"; 649894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNE_define_file: return "DW_LNE_define_file"; 65019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_LNE_set_discriminator: return "DW_LNE_set_discriminator"; 651894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNE_lo_user: return "DW_LNE_lo_user"; 652894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_LNE_hi_user: return "DW_LNE_hi_user"; 653894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 654894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 655894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 656894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 657894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// MacinfoString - Return the string for the specified macinfo type encodings. 658894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// 659894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::MacinfoString(unsigned Encoding) { 660894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Encoding) { 661894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman // Macinfo Type Encodings 662894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_MACINFO_define: return "DW_MACINFO_define"; 663894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_MACINFO_undef: return "DW_MACINFO_undef"; 664894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_MACINFO_start_file: return "DW_MACINFO_start_file"; 665894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_MACINFO_end_file: return "DW_MACINFO_end_file"; 666894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_MACINFO_vendor_ext: return "DW_MACINFO_vendor_ext"; 667894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 668894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 669894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 670894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman 671894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// CallFrameString - Return the string for the specified call frame instruction 672894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/// encodings. 673894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanconst char *llvm::dwarf::CallFrameString(unsigned Encoding) { 674894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman switch (Encoding) { 675894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_advance_loc: return "DW_CFA_advance_loc"; 676894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_offset: return "DW_CFA_offset"; 677894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_restore: return "DW_CFA_restore"; 678894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_set_loc: return "DW_CFA_set_loc"; 679894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_advance_loc1: return "DW_CFA_advance_loc1"; 680894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_advance_loc2: return "DW_CFA_advance_loc2"; 681894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_advance_loc4: return "DW_CFA_advance_loc4"; 682894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_offset_extended: return "DW_CFA_offset_extended"; 683894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_restore_extended: return "DW_CFA_restore_extended"; 684894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_undefined: return "DW_CFA_undefined"; 685894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_same_value: return "DW_CFA_same_value"; 686894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_register: return "DW_CFA_register"; 687894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_remember_state: return "DW_CFA_remember_state"; 688894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_restore_state: return "DW_CFA_restore_state"; 689894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_def_cfa: return "DW_CFA_def_cfa"; 690894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_def_cfa_register: return "DW_CFA_def_cfa_register"; 691894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_def_cfa_offset: return "DW_CFA_def_cfa_offset"; 692894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_def_cfa_expression: return "DW_CFA_def_cfa_expression"; 693894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_expression: return "DW_CFA_expression"; 694894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_offset_extended_sf: return "DW_CFA_offset_extended_sf"; 695894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_def_cfa_sf: return "DW_CFA_def_cfa_sf"; 696894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_def_cfa_offset_sf: return "DW_CFA_def_cfa_offset_sf"; 697894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_val_offset: return "DW_CFA_val_offset"; 698894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_val_offset_sf: return "DW_CFA_val_offset_sf"; 699894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_val_expression: return "DW_CFA_val_expression"; 70019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_CFA_MIPS_advance_loc8: return "DW_CFA_MIPS_advance_loc8"; 70119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_CFA_GNU_window_save: return "DW_CFA_GNU_window_save"; 70219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman case DW_CFA_GNU_args_size: return "DW_CFA_GNU_args_size"; 703894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_lo_user: return "DW_CFA_lo_user"; 704894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman case DW_CFA_hi_user: return "DW_CFA_hi_user"; 705894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman } 706894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman return 0; 707894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman} 708