18 using namespace dwarf;
24 case DW_TAG_array_type:
return "DW_TAG_array_type";
25 case DW_TAG_class_type:
return "DW_TAG_class_type";
26 case DW_TAG_entry_point:
return "DW_TAG_entry_point";
27 case DW_TAG_enumeration_type:
return "DW_TAG_enumeration_type";
28 case DW_TAG_formal_parameter:
return "DW_TAG_formal_parameter";
29 case DW_TAG_imported_declaration:
return "DW_TAG_imported_declaration";
30 case DW_TAG_label:
return "DW_TAG_label";
31 case DW_TAG_lexical_block:
return "DW_TAG_lexical_block";
32 case DW_TAG_member:
return "DW_TAG_member";
33 case DW_TAG_pointer_type:
return "DW_TAG_pointer_type";
34 case DW_TAG_reference_type:
return "DW_TAG_reference_type";
35 case DW_TAG_compile_unit:
return "DW_TAG_compile_unit";
36 case DW_TAG_string_type:
return "DW_TAG_string_type";
37 case DW_TAG_structure_type:
return "DW_TAG_structure_type";
38 case DW_TAG_subroutine_type:
return "DW_TAG_subroutine_type";
39 case DW_TAG_typedef:
return "DW_TAG_typedef";
40 case DW_TAG_union_type:
return "DW_TAG_union_type";
41 case DW_TAG_unspecified_parameters:
return "DW_TAG_unspecified_parameters";
42 case DW_TAG_variant:
return "DW_TAG_variant";
43 case DW_TAG_common_block:
return "DW_TAG_common_block";
44 case DW_TAG_common_inclusion:
return "DW_TAG_common_inclusion";
45 case DW_TAG_inheritance:
return "DW_TAG_inheritance";
46 case DW_TAG_inlined_subroutine:
return "DW_TAG_inlined_subroutine";
47 case DW_TAG_module:
return "DW_TAG_module";
48 case DW_TAG_ptr_to_member_type:
return "DW_TAG_ptr_to_member_type";
49 case DW_TAG_set_type:
return "DW_TAG_set_type";
50 case DW_TAG_subrange_type:
return "DW_TAG_subrange_type";
51 case DW_TAG_with_stmt:
return "DW_TAG_with_stmt";
52 case DW_TAG_access_declaration:
return "DW_TAG_access_declaration";
53 case DW_TAG_base_type:
return "DW_TAG_base_type";
54 case DW_TAG_catch_block:
return "DW_TAG_catch_block";
55 case DW_TAG_const_type:
return "DW_TAG_const_type";
56 case DW_TAG_constant:
return "DW_TAG_constant";
57 case DW_TAG_enumerator:
return "DW_TAG_enumerator";
58 case DW_TAG_file_type:
return "DW_TAG_file_type";
59 case DW_TAG_friend:
return "DW_TAG_friend";
60 case DW_TAG_namelist:
return "DW_TAG_namelist";
61 case DW_TAG_namelist_item:
return "DW_TAG_namelist_item";
62 case DW_TAG_packed_type:
return "DW_TAG_packed_type";
63 case DW_TAG_subprogram:
return "DW_TAG_subprogram";
64 case DW_TAG_template_type_parameter:
return "DW_TAG_template_type_parameter";
65 case DW_TAG_template_value_parameter:
return "DW_TAG_template_value_parameter";
66 case DW_TAG_thrown_type:
return "DW_TAG_thrown_type";
67 case DW_TAG_try_block:
return "DW_TAG_try_block";
68 case DW_TAG_variant_part:
return "DW_TAG_variant_part";
69 case DW_TAG_variable:
return "DW_TAG_variable";
70 case DW_TAG_volatile_type:
return "DW_TAG_volatile_type";
71 case DW_TAG_dwarf_procedure:
return "DW_TAG_dwarf_procedure";
72 case DW_TAG_restrict_type:
return "DW_TAG_restrict_type";
73 case DW_TAG_interface_type:
return "DW_TAG_interface_type";
74 case DW_TAG_namespace:
return "DW_TAG_namespace";
75 case DW_TAG_imported_module:
return "DW_TAG_imported_module";
76 case DW_TAG_unspecified_type:
return "DW_TAG_unspecified_type";
77 case DW_TAG_partial_unit:
return "DW_TAG_partial_unit";
78 case DW_TAG_imported_unit:
return "DW_TAG_imported_unit";
79 case DW_TAG_condition:
return "DW_TAG_condition";
80 case DW_TAG_shared_type:
return "DW_TAG_shared_type";
81 case DW_TAG_lo_user:
return "DW_TAG_lo_user";
82 case DW_TAG_hi_user:
return "DW_TAG_hi_user";
83 case DW_TAG_auto_variable:
return "DW_TAG_auto_variable";
84 case DW_TAG_arg_variable:
return "DW_TAG_arg_variable";
85 case DW_TAG_rvalue_reference_type:
return "DW_TAG_rvalue_reference_type";
86 case DW_TAG_template_alias:
return "DW_TAG_template_alias";
87 case DW_TAG_MIPS_loop:
return "DW_TAG_MIPS_loop";
88 case DW_TAG_type_unit:
return "DW_TAG_type_unit";
89 case DW_TAG_format_label:
return "DW_TAG_format_label";
90 case DW_TAG_function_template:
return "DW_TAG_function_template";
91 case DW_TAG_class_template:
return "DW_TAG_class_template";
92 case DW_TAG_GNU_template_template_param:
93 return "DW_TAG_GNU_template_template_param";
94 case DW_TAG_GNU_template_parameter_pack:
95 return "DW_TAG_GNU_template_parameter_pack";
96 case DW_TAG_GNU_formal_parameter_pack:
97 return "DW_TAG_GNU_formal_parameter_pack";
98 case DW_TAG_APPLE_property:
return "DW_TAG_APPLE_property";
117 case DW_AT_sibling:
return "DW_AT_sibling";
118 case DW_AT_location:
return "DW_AT_location";
119 case DW_AT_name:
return "DW_AT_name";
120 case DW_AT_ordering:
return "DW_AT_ordering";
121 case DW_AT_byte_size:
return "DW_AT_byte_size";
122 case DW_AT_bit_offset:
return "DW_AT_bit_offset";
123 case DW_AT_bit_size:
return "DW_AT_bit_size";
124 case DW_AT_stmt_list:
return "DW_AT_stmt_list";
125 case DW_AT_low_pc:
return "DW_AT_low_pc";
126 case DW_AT_high_pc:
return "DW_AT_high_pc";
127 case DW_AT_language:
return "DW_AT_language";
128 case DW_AT_discr:
return "DW_AT_discr";
129 case DW_AT_discr_value:
return "DW_AT_discr_value";
130 case DW_AT_visibility:
return "DW_AT_visibility";
131 case DW_AT_import:
return "DW_AT_import";
132 case DW_AT_string_length:
return "DW_AT_string_length";
133 case DW_AT_common_reference:
return "DW_AT_common_reference";
134 case DW_AT_comp_dir:
return "DW_AT_comp_dir";
135 case DW_AT_const_value:
return "DW_AT_const_value";
136 case DW_AT_containing_type:
return "DW_AT_containing_type";
137 case DW_AT_default_value:
return "DW_AT_default_value";
138 case DW_AT_inline:
return "DW_AT_inline";
139 case DW_AT_is_optional:
return "DW_AT_is_optional";
140 case DW_AT_lower_bound:
return "DW_AT_lower_bound";
141 case DW_AT_producer:
return "DW_AT_producer";
142 case DW_AT_prototyped:
return "DW_AT_prototyped";
143 case DW_AT_return_addr:
return "DW_AT_return_addr";
144 case DW_AT_start_scope:
return "DW_AT_start_scope";
145 case DW_AT_bit_stride:
return "DW_AT_bit_stride";
146 case DW_AT_upper_bound:
return "DW_AT_upper_bound";
147 case DW_AT_abstract_origin:
return "DW_AT_abstract_origin";
148 case DW_AT_accessibility:
return "DW_AT_accessibility";
149 case DW_AT_address_class:
return "DW_AT_address_class";
150 case DW_AT_artificial:
return "DW_AT_artificial";
151 case DW_AT_base_types:
return "DW_AT_base_types";
152 case DW_AT_calling_convention:
return "DW_AT_calling_convention";
153 case DW_AT_count:
return "DW_AT_count";
154 case DW_AT_data_member_location:
return "DW_AT_data_member_location";
155 case DW_AT_decl_column:
return "DW_AT_decl_column";
156 case DW_AT_decl_file:
return "DW_AT_decl_file";
157 case DW_AT_decl_line:
return "DW_AT_decl_line";
158 case DW_AT_declaration:
return "DW_AT_declaration";
159 case DW_AT_discr_list:
return "DW_AT_discr_list";
160 case DW_AT_encoding:
return "DW_AT_encoding";
161 case DW_AT_external:
return "DW_AT_external";
162 case DW_AT_frame_base:
return "DW_AT_frame_base";
163 case DW_AT_friend:
return "DW_AT_friend";
164 case DW_AT_identifier_case:
return "DW_AT_identifier_case";
165 case DW_AT_macro_info:
return "DW_AT_macro_info";
166 case DW_AT_namelist_item:
return "DW_AT_namelist_item";
167 case DW_AT_priority:
return "DW_AT_priority";
168 case DW_AT_segment:
return "DW_AT_segment";
169 case DW_AT_specification:
return "DW_AT_specification";
170 case DW_AT_static_link:
return "DW_AT_static_link";
171 case DW_AT_type:
return "DW_AT_type";
172 case DW_AT_use_location:
return "DW_AT_use_location";
173 case DW_AT_variable_parameter:
return "DW_AT_variable_parameter";
174 case DW_AT_virtuality:
return "DW_AT_virtuality";
175 case DW_AT_vtable_elem_location:
return "DW_AT_vtable_elem_location";
176 case DW_AT_allocated:
return "DW_AT_allocated";
177 case DW_AT_associated:
return "DW_AT_associated";
178 case DW_AT_data_location:
return "DW_AT_data_location";
179 case DW_AT_byte_stride:
return "DW_AT_byte_stride";
180 case DW_AT_entry_pc:
return "DW_AT_entry_pc";
181 case DW_AT_use_UTF8:
return "DW_AT_use_UTF8";
182 case DW_AT_extension:
return "DW_AT_extension";
183 case DW_AT_ranges:
return "DW_AT_ranges";
184 case DW_AT_trampoline:
return "DW_AT_trampoline";
185 case DW_AT_call_column:
return "DW_AT_call_column";
186 case DW_AT_call_file:
return "DW_AT_call_file";
187 case DW_AT_call_line:
return "DW_AT_call_line";
188 case DW_AT_description:
return "DW_AT_description";
189 case DW_AT_binary_scale:
return "DW_AT_binary_scale";
190 case DW_AT_decimal_scale:
return "DW_AT_decimal_scale";
191 case DW_AT_small:
return "DW_AT_small";
192 case DW_AT_decimal_sign:
return "DW_AT_decimal_sign";
193 case DW_AT_digit_count:
return "DW_AT_digit_count";
194 case DW_AT_picture_string:
return "DW_AT_picture_string";
195 case DW_AT_mutable:
return "DW_AT_mutable";
196 case DW_AT_threads_scaled:
return "DW_AT_threads_scaled";
197 case DW_AT_explicit:
return "DW_AT_explicit";
198 case DW_AT_object_pointer:
return "DW_AT_object_pointer";
199 case DW_AT_endianity:
return "DW_AT_endianity";
200 case DW_AT_elemental:
return "DW_AT_elemental";
201 case DW_AT_pure:
return "DW_AT_pure";
202 case DW_AT_recursive:
return "DW_AT_recursive";
203 case DW_AT_signature:
return "DW_AT_signature";
204 case DW_AT_main_subprogram:
return "DW_AT_main_subprogram";
205 case DW_AT_data_bit_offset:
return "DW_AT_data_bit_offset";
206 case DW_AT_const_expr:
return "DW_AT_const_expr";
207 case DW_AT_enum_class:
return "DW_AT_enum_class";
208 case DW_AT_linkage_name:
return "DW_AT_linkage_name";
209 case DW_AT_MIPS_loop_begin:
return "DW_AT_MIPS_loop_begin";
210 case DW_AT_MIPS_tail_loop_begin:
return "DW_AT_MIPS_tail_loop_begin";
211 case DW_AT_MIPS_epilog_begin:
return "DW_AT_MIPS_epilog_begin";
212 case DW_AT_MIPS_loop_unroll_factor:
return "DW_AT_MIPS_loop_unroll_factor";
213 case DW_AT_MIPS_software_pipeline_depth:
214 return "DW_AT_MIPS_software_pipeline_depth";
215 case DW_AT_MIPS_linkage_name:
return "DW_AT_MIPS_linkage_name";
216 case DW_AT_MIPS_stride:
return "DW_AT_MIPS_stride";
217 case DW_AT_MIPS_abstract_name:
return "DW_AT_MIPS_abstract_name";
218 case DW_AT_MIPS_clone_origin:
return "DW_AT_MIPS_clone_origin";
219 case DW_AT_MIPS_has_inlines:
return "DW_AT_MIPS_has_inlines";
220 case DW_AT_MIPS_stride_byte:
return "DW_AT_MIPS_stride_byte";
221 case DW_AT_MIPS_stride_elem:
return "DW_AT_MIPS_stride_elem";
222 case DW_AT_MIPS_ptr_dopetype:
return "DW_AT_MIPS_ptr_dopetype";
223 case DW_AT_MIPS_allocatable_dopetype:
224 return "DW_AT_MIPS_allocatable_dopetype";
225 case DW_AT_MIPS_assumed_shape_dopetype:
226 return "DW_AT_MIPS_assumed_shape_dopetype";
227 case DW_AT_sf_names:
return "DW_AT_sf_names";
228 case DW_AT_src_info:
return "DW_AT_src_info";
229 case DW_AT_mac_info:
return "DW_AT_mac_info";
230 case DW_AT_src_coords:
return "DW_AT_src_coords";
231 case DW_AT_body_begin:
return "DW_AT_body_begin";
232 case DW_AT_body_end:
return "DW_AT_body_end";
233 case DW_AT_GNU_vector:
return "DW_AT_GNU_vector";
234 case DW_AT_GNU_template_name:
return "DW_AT_GNU_template_name";
235 case DW_AT_GNU_odr_signature:
return "DW_AT_GNU_odr_signature";
236 case DW_AT_MIPS_assumed_size:
return "DW_AT_MIPS_assumed_size";
237 case DW_AT_lo_user:
return "DW_AT_lo_user";
238 case DW_AT_hi_user:
return "DW_AT_hi_user";
239 case DW_AT_APPLE_optimized:
return "DW_AT_APPLE_optimized";
240 case DW_AT_APPLE_flags:
return "DW_AT_APPLE_flags";
241 case DW_AT_APPLE_isa:
return "DW_AT_APPLE_isa";
242 case DW_AT_APPLE_block:
return "DW_AT_APPLE_block";
243 case DW_AT_APPLE_major_runtime_vers:
return "DW_AT_APPLE_major_runtime_vers";
244 case DW_AT_APPLE_runtime_class:
return "DW_AT_APPLE_runtime_class";
245 case DW_AT_APPLE_omit_frame_ptr:
return "DW_AT_APPLE_omit_frame_ptr";
246 case DW_AT_APPLE_property_name:
return "DW_AT_APPLE_property_name";
247 case DW_AT_APPLE_property_getter:
return "DW_AT_APPLE_property_getter";
248 case DW_AT_APPLE_property_setter:
return "DW_AT_APPLE_property_setter";
249 case DW_AT_APPLE_property_attribute:
return "DW_AT_APPLE_property_attribute";
250 case DW_AT_APPLE_property:
return "DW_AT_APPLE_property";
251 case DW_AT_APPLE_objc_complete_type:
return "DW_AT_APPLE_objc_complete_type";
254 case DW_AT_GNU_dwo_name:
return "DW_AT_GNU_dwo_name";
255 case DW_AT_GNU_dwo_id:
return "DW_AT_GNU_dwo_id";
256 case DW_AT_GNU_ranges_base:
return "DW_AT_GNU_ranges_base";
257 case DW_AT_GNU_addr_base:
return "DW_AT_GNU_addr_base";
258 case DW_AT_GNU_pubnames:
return "DW_AT_GNU_pubnames";
259 case DW_AT_GNU_pubtypes:
return "DW_AT_GNU_pubtypes";
268 case DW_FORM_addr:
return "DW_FORM_addr";
269 case DW_FORM_block2:
return "DW_FORM_block2";
270 case DW_FORM_block4:
return "DW_FORM_block4";
271 case DW_FORM_data2:
return "DW_FORM_data2";
272 case DW_FORM_data4:
return "DW_FORM_data4";
273 case DW_FORM_data8:
return "DW_FORM_data8";
274 case DW_FORM_string:
return "DW_FORM_string";
275 case DW_FORM_block:
return "DW_FORM_block";
276 case DW_FORM_block1:
return "DW_FORM_block1";
277 case DW_FORM_data1:
return "DW_FORM_data1";
278 case DW_FORM_flag:
return "DW_FORM_flag";
279 case DW_FORM_sdata:
return "DW_FORM_sdata";
280 case DW_FORM_strp:
return "DW_FORM_strp";
281 case DW_FORM_udata:
return "DW_FORM_udata";
282 case DW_FORM_ref_addr:
return "DW_FORM_ref_addr";
283 case DW_FORM_ref1:
return "DW_FORM_ref1";
284 case DW_FORM_ref2:
return "DW_FORM_ref2";
285 case DW_FORM_ref4:
return "DW_FORM_ref4";
286 case DW_FORM_ref8:
return "DW_FORM_ref8";
287 case DW_FORM_ref_udata:
return "DW_FORM_ref_udata";
288 case DW_FORM_indirect:
return "DW_FORM_indirect";
289 case DW_FORM_sec_offset:
return "DW_FORM_sec_offset";
290 case DW_FORM_exprloc:
return "DW_FORM_exprloc";
291 case DW_FORM_flag_present:
return "DW_FORM_flag_present";
292 case DW_FORM_ref_sig8:
return "DW_FORM_ref_sig8";
295 case DW_FORM_GNU_addr_index:
return "DW_FORM_GNU_addr_index";
296 case DW_FORM_GNU_str_index:
return "DW_FORM_GNU_str_index";
537 switch (Visibility) {
548 switch (Virtuality) {
600 switch (Convention) {
635 switch (Discriminant) {
733 return "DW_ATOM_null";
735 return "DW_ATOM_die_offset";
737 return "DW_ATOM_cu_offset";
739 return "DW_ATOM_die_tag";
741 return "DW_ATOM_type_flags";
const char * VisibilityString(unsigned Visibility)
const char * LNExtendedString(unsigned Encoding)
const char * AtomTypeString(unsigned Atom)
AtomTypeString - Return the string for the specified Atom type.
const char * FormEncodingString(unsigned Encoding)
const char * ArrayOrderString(unsigned Order)
const char * OperationEncodingString(unsigned Encoding)
#define llvm_unreachable(msg)
const char * InlineCodeString(unsigned Code)
const char * CallFrameString(unsigned Encoding)
const char * LNStandardString(unsigned Standard)
const char * VirtualityString(unsigned Virtuality)
const char * EndianityString(unsigned Endian)
const char * GDBIndexEntryLinkageString(GDBIndexEntryLinkage Linkage)
const char * ConventionString(unsigned Convention)
const char * AttributeEncodingString(unsigned Encoding)
const char * TagString(unsigned Tag)
const char * DecimalSignString(unsigned Sign)
const char * LanguageString(unsigned Language)
const char * AttributeString(unsigned Attribute)
const char * DiscriminantString(unsigned Discriminant)
const char * GDBIndexEntryKindString(GDBIndexEntryKind Kind)
const char * AccessibilityString(unsigned Access)
const char * MacinfoString(unsigned Encoding)
const char * CaseString(unsigned Case)
const char * ChildrenString(unsigned Children)