1
//===-- llvm/Support/Dwarf.cpp - Dwarf Framework ----------------*- C++ -*-===//
3
// The LLVM Compiler Infrastructure
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
8
//===----------------------------------------------------------------------===//
10
// This file contains support for generic dwarf information.
12
//===----------------------------------------------------------------------===//
14
#include "llvm/Support/Dwarf.h"
16
using namespace dwarf;
18
/// TagString - Return the string for the specified tag.
20
const char *llvm::dwarf::TagString(unsigned Tag) {
22
case DW_TAG_array_type: return "DW_TAG_array_type";
23
case DW_TAG_class_type: return "DW_TAG_class_type";
24
case DW_TAG_entry_point: return "DW_TAG_entry_point";
25
case DW_TAG_enumeration_type: return "DW_TAG_enumeration_type";
26
case DW_TAG_formal_parameter: return "DW_TAG_formal_parameter";
27
case DW_TAG_imported_declaration: return "DW_TAG_imported_declaration";
28
case DW_TAG_label: return "DW_TAG_label";
29
case DW_TAG_lexical_block: return "DW_TAG_lexical_block";
30
case DW_TAG_member: return "DW_TAG_member";
31
case DW_TAG_pointer_type: return "DW_TAG_pointer_type";
32
case DW_TAG_reference_type: return "DW_TAG_reference_type";
33
case DW_TAG_compile_unit: return "DW_TAG_compile_unit";
34
case DW_TAG_string_type: return "DW_TAG_string_type";
35
case DW_TAG_structure_type: return "DW_TAG_structure_type";
36
case DW_TAG_subroutine_type: return "DW_TAG_subroutine_type";
37
case DW_TAG_typedef: return "DW_TAG_typedef";
38
case DW_TAG_union_type: return "DW_TAG_union_type";
39
case DW_TAG_unspecified_parameters: return "DW_TAG_unspecified_parameters";
40
case DW_TAG_variant: return "DW_TAG_variant";
41
case DW_TAG_common_block: return "DW_TAG_common_block";
42
case DW_TAG_common_inclusion: return "DW_TAG_common_inclusion";
43
case DW_TAG_inheritance: return "DW_TAG_inheritance";
44
case DW_TAG_inlined_subroutine: return "DW_TAG_inlined_subroutine";
45
case DW_TAG_module: return "DW_TAG_module";
46
case DW_TAG_ptr_to_member_type: return "DW_TAG_ptr_to_member_type";
47
case DW_TAG_set_type: return "DW_TAG_set_type";
48
case DW_TAG_subrange_type: return "DW_TAG_subrange_type";
49
case DW_TAG_with_stmt: return "DW_TAG_with_stmt";
50
case DW_TAG_access_declaration: return "DW_TAG_access_declaration";
51
case DW_TAG_base_type: return "DW_TAG_base_type";
52
case DW_TAG_catch_block: return "DW_TAG_catch_block";
53
case DW_TAG_const_type: return "DW_TAG_const_type";
54
case DW_TAG_constant: return "DW_TAG_constant";
55
case DW_TAG_enumerator: return "DW_TAG_enumerator";
56
case DW_TAG_file_type: return "DW_TAG_file_type";
57
case DW_TAG_friend: return "DW_TAG_friend";
58
case DW_TAG_namelist: return "DW_TAG_namelist";
59
case DW_TAG_namelist_item: return "DW_TAG_namelist_item";
60
case DW_TAG_packed_type: return "DW_TAG_packed_type";
61
case DW_TAG_subprogram: return "DW_TAG_subprogram";
62
case DW_TAG_template_type_parameter: return "DW_TAG_template_type_parameter";
63
case DW_TAG_template_value_parameter:return "DW_TAG_template_value_parameter";
64
case DW_TAG_thrown_type: return "DW_TAG_thrown_type";
65
case DW_TAG_try_block: return "DW_TAG_try_block";
66
case DW_TAG_variant_part: return "DW_TAG_variant_part";
67
case DW_TAG_variable: return "DW_TAG_variable";
68
case DW_TAG_volatile_type: return "DW_TAG_volatile_type";
69
case DW_TAG_dwarf_procedure: return "DW_TAG_dwarf_procedure";
70
case DW_TAG_restrict_type: return "DW_TAG_restrict_type";
71
case DW_TAG_interface_type: return "DW_TAG_interface_type";
72
case DW_TAG_namespace: return "DW_TAG_namespace";
73
case DW_TAG_imported_module: return "DW_TAG_imported_module";
74
case DW_TAG_unspecified_type: return "DW_TAG_unspecified_type";
75
case DW_TAG_partial_unit: return "DW_TAG_partial_unit";
76
case DW_TAG_imported_unit: return "DW_TAG_imported_unit";
77
case DW_TAG_condition: return "DW_TAG_condition";
78
case DW_TAG_shared_type: return "DW_TAG_shared_type";
79
case DW_TAG_lo_user: return "DW_TAG_lo_user";
80
case DW_TAG_hi_user: return "DW_TAG_hi_user";
85
/// ChildrenString - Return the string for the specified children flag.
87
const char *llvm::dwarf::ChildrenString(unsigned Children) {
89
case DW_CHILDREN_no: return "DW_CHILDREN_no";
90
case DW_CHILDREN_yes: return "DW_CHILDREN_yes";
95
/// AttributeString - Return the string for the specified attribute.
97
const char *llvm::dwarf::AttributeString(unsigned Attribute) {
99
case DW_AT_sibling: return "DW_AT_sibling";
100
case DW_AT_location: return "DW_AT_location";
101
case DW_AT_name: return "DW_AT_name";
102
case DW_AT_ordering: return "DW_AT_ordering";
103
case DW_AT_byte_size: return "DW_AT_byte_size";
104
case DW_AT_bit_offset: return "DW_AT_bit_offset";
105
case DW_AT_bit_size: return "DW_AT_bit_size";
106
case DW_AT_stmt_list: return "DW_AT_stmt_list";
107
case DW_AT_low_pc: return "DW_AT_low_pc";
108
case DW_AT_high_pc: return "DW_AT_high_pc";
109
case DW_AT_language: return "DW_AT_language";
110
case DW_AT_discr: return "DW_AT_discr";
111
case DW_AT_discr_value: return "DW_AT_discr_value";
112
case DW_AT_visibility: return "DW_AT_visibility";
113
case DW_AT_import: return "DW_AT_import";
114
case DW_AT_string_length: return "DW_AT_string_length";
115
case DW_AT_common_reference: return "DW_AT_common_reference";
116
case DW_AT_comp_dir: return "DW_AT_comp_dir";
117
case DW_AT_const_value: return "DW_AT_const_value";
118
case DW_AT_containing_type: return "DW_AT_containing_type";
119
case DW_AT_default_value: return "DW_AT_default_value";
120
case DW_AT_inline: return "DW_AT_inline";
121
case DW_AT_is_optional: return "DW_AT_is_optional";
122
case DW_AT_lower_bound: return "DW_AT_lower_bound";
123
case DW_AT_producer: return "DW_AT_producer";
124
case DW_AT_prototyped: return "DW_AT_prototyped";
125
case DW_AT_return_addr: return "DW_AT_return_addr";
126
case DW_AT_start_scope: return "DW_AT_start_scope";
127
case DW_AT_bit_stride: return "DW_AT_bit_stride";
128
case DW_AT_upper_bound: return "DW_AT_upper_bound";
129
case DW_AT_abstract_origin: return "DW_AT_abstract_origin";
130
case DW_AT_accessibility: return "DW_AT_accessibility";
131
case DW_AT_address_class: return "DW_AT_address_class";
132
case DW_AT_artificial: return "DW_AT_artificial";
133
case DW_AT_base_types: return "DW_AT_base_types";
134
case DW_AT_calling_convention: return "DW_AT_calling_convention";
135
case DW_AT_count: return "DW_AT_count";
136
case DW_AT_data_member_location: return "DW_AT_data_member_location";
137
case DW_AT_decl_column: return "DW_AT_decl_column";
138
case DW_AT_decl_file: return "DW_AT_decl_file";
139
case DW_AT_decl_line: return "DW_AT_decl_line";
140
case DW_AT_declaration: return "DW_AT_declaration";
141
case DW_AT_discr_list: return "DW_AT_discr_list";
142
case DW_AT_encoding: return "DW_AT_encoding";
143
case DW_AT_external: return "DW_AT_external";
144
case DW_AT_frame_base: return "DW_AT_frame_base";
145
case DW_AT_friend: return "DW_AT_friend";
146
case DW_AT_identifier_case: return "DW_AT_identifier_case";
147
case DW_AT_macro_info: return "DW_AT_macro_info";
148
case DW_AT_namelist_item: return "DW_AT_namelist_item";
149
case DW_AT_priority: return "DW_AT_priority";
150
case DW_AT_segment: return "DW_AT_segment";
151
case DW_AT_specification: return "DW_AT_specification";
152
case DW_AT_static_link: return "DW_AT_static_link";
153
case DW_AT_type: return "DW_AT_type";
154
case DW_AT_use_location: return "DW_AT_use_location";
155
case DW_AT_variable_parameter: return "DW_AT_variable_parameter";
156
case DW_AT_virtuality: return "DW_AT_virtuality";
157
case DW_AT_vtable_elem_location: return "DW_AT_vtable_elem_location";
158
case DW_AT_allocated: return "DW_AT_allocated";
159
case DW_AT_associated: return "DW_AT_associated";
160
case DW_AT_data_location: return "DW_AT_data_location";
161
case DW_AT_byte_stride: return "DW_AT_byte_stride";
162
case DW_AT_entry_pc: return "DW_AT_entry_pc";
163
case DW_AT_use_UTF8: return "DW_AT_use_UTF8";
164
case DW_AT_extension: return "DW_AT_extension";
165
case DW_AT_ranges: return "DW_AT_ranges";
166
case DW_AT_trampoline: return "DW_AT_trampoline";
167
case DW_AT_call_column: return "DW_AT_call_column";
168
case DW_AT_call_file: return "DW_AT_call_file";
169
case DW_AT_call_line: return "DW_AT_call_line";
170
case DW_AT_description: return "DW_AT_description";
171
case DW_AT_binary_scale: return "DW_AT_binary_scale";
172
case DW_AT_decimal_scale: return "DW_AT_decimal_scale";
173
case DW_AT_small: return "DW_AT_small";
174
case DW_AT_decimal_sign: return "DW_AT_decimal_sign";
175
case DW_AT_digit_count: return "DW_AT_digit_count";
176
case DW_AT_picture_string: return "DW_AT_picture_string";
177
case DW_AT_mutable: return "DW_AT_mutable";
178
case DW_AT_threads_scaled: return "DW_AT_threads_scaled";
179
case DW_AT_explicit: return "DW_AT_explicit";
180
case DW_AT_object_pointer: return "DW_AT_object_pointer";
181
case DW_AT_endianity: return "DW_AT_endianity";
182
case DW_AT_elemental: return "DW_AT_elemental";
183
case DW_AT_pure: return "DW_AT_pure";
184
case DW_AT_recursive: return "DW_AT_recursive";
185
case DW_AT_MIPS_linkage_name: return "DW_AT_MIPS_linkage_name";
186
case DW_AT_sf_names: return "DW_AT_sf_names";
187
case DW_AT_src_info: return "DW_AT_src_info";
188
case DW_AT_mac_info: return "DW_AT_mac_info";
189
case DW_AT_src_coords: return "DW_AT_src_coords";
190
case DW_AT_body_begin: return "DW_AT_body_begin";
191
case DW_AT_body_end: return "DW_AT_body_end";
192
case DW_AT_GNU_vector: return "DW_AT_GNU_vector";
193
case DW_AT_lo_user: return "DW_AT_lo_user";
194
case DW_AT_hi_user: return "DW_AT_hi_user";
195
case DW_AT_APPLE_optimized: return "DW_AT_APPLE_optimized";
196
case DW_AT_APPLE_flags: return "DW_AT_APPLE_flags";
197
case DW_AT_APPLE_isa: return "DW_AT_APPLE_isa";
198
case DW_AT_APPLE_block: return "DW_AT_APPLE_block";
199
case DW_AT_APPLE_major_runtime_vers: return "DW_AT_APPLE_major_runtime_vers";
200
case DW_AT_APPLE_runtime_class: return "DW_AT_APPLE_runtime_class";
201
case DW_AT_APPLE_omit_frame_ptr: return "DW_AT_APPLE_omit_frame_ptr";
206
/// FormEncodingString - Return the string for the specified form encoding.
208
const char *llvm::dwarf::FormEncodingString(unsigned Encoding) {
210
case DW_FORM_addr: return "DW_FORM_addr";
211
case DW_FORM_block2: return "DW_FORM_block2";
212
case DW_FORM_block4: return "DW_FORM_block4";
213
case DW_FORM_data2: return "DW_FORM_data2";
214
case DW_FORM_data4: return "DW_FORM_data4";
215
case DW_FORM_data8: return "DW_FORM_data8";
216
case DW_FORM_string: return "DW_FORM_string";
217
case DW_FORM_block: return "DW_FORM_block";
218
case DW_FORM_block1: return "DW_FORM_block1";
219
case DW_FORM_data1: return "DW_FORM_data1";
220
case DW_FORM_flag: return "DW_FORM_flag";
221
case DW_FORM_sdata: return "DW_FORM_sdata";
222
case DW_FORM_strp: return "DW_FORM_strp";
223
case DW_FORM_udata: return "DW_FORM_udata";
224
case DW_FORM_ref_addr: return "DW_FORM_ref_addr";
225
case DW_FORM_ref1: return "DW_FORM_ref1";
226
case DW_FORM_ref2: return "DW_FORM_ref2";
227
case DW_FORM_ref4: return "DW_FORM_ref4";
228
case DW_FORM_ref8: return "DW_FORM_ref8";
229
case DW_FORM_ref_udata: return "DW_FORM_ref_udata";
230
case DW_FORM_indirect: return "DW_FORM_indirect";
235
/// OperationEncodingString - Return the string for the specified operation
237
const char *llvm::dwarf::OperationEncodingString(unsigned Encoding) {
239
case DW_OP_addr: return "DW_OP_addr";
240
case DW_OP_deref: return "DW_OP_deref";
241
case DW_OP_const1u: return "DW_OP_const1u";
242
case DW_OP_const1s: return "DW_OP_const1s";
243
case DW_OP_const2u: return "DW_OP_const2u";
244
case DW_OP_const2s: return "DW_OP_const2s";
245
case DW_OP_const4u: return "DW_OP_const4u";
246
case DW_OP_const4s: return "DW_OP_const4s";
247
case DW_OP_const8u: return "DW_OP_const8u";
248
case DW_OP_const8s: return "DW_OP_const8s";
249
case DW_OP_constu: return "DW_OP_constu";
250
case DW_OP_consts: return "DW_OP_consts";
251
case DW_OP_dup: return "DW_OP_dup";
252
case DW_OP_drop: return "DW_OP_drop";
253
case DW_OP_over: return "DW_OP_over";
254
case DW_OP_pick: return "DW_OP_pick";
255
case DW_OP_swap: return "DW_OP_swap";
256
case DW_OP_rot: return "DW_OP_rot";
257
case DW_OP_xderef: return "DW_OP_xderef";
258
case DW_OP_abs: return "DW_OP_abs";
259
case DW_OP_and: return "DW_OP_and";
260
case DW_OP_div: return "DW_OP_div";
261
case DW_OP_minus: return "DW_OP_minus";
262
case DW_OP_mod: return "DW_OP_mod";
263
case DW_OP_mul: return "DW_OP_mul";
264
case DW_OP_neg: return "DW_OP_neg";
265
case DW_OP_not: return "DW_OP_not";
266
case DW_OP_or: return "DW_OP_or";
267
case DW_OP_plus: return "DW_OP_plus";
268
case DW_OP_plus_uconst: return "DW_OP_plus_uconst";
269
case DW_OP_shl: return "DW_OP_shl";
270
case DW_OP_shr: return "DW_OP_shr";
271
case DW_OP_shra: return "DW_OP_shra";
272
case DW_OP_xor: return "DW_OP_xor";
273
case DW_OP_skip: return "DW_OP_skip";
274
case DW_OP_bra: return "DW_OP_bra";
275
case DW_OP_eq: return "DW_OP_eq";
276
case DW_OP_ge: return "DW_OP_ge";
277
case DW_OP_gt: return "DW_OP_gt";
278
case DW_OP_le: return "DW_OP_le";
279
case DW_OP_lt: return "DW_OP_lt";
280
case DW_OP_ne: return "DW_OP_ne";
281
case DW_OP_lit0: return "DW_OP_lit0";
282
case DW_OP_lit1: return "DW_OP_lit1";
283
case DW_OP_lit2: return "DW_OP_lit2";
284
case DW_OP_lit3: return "DW_OP_lit3";
285
case DW_OP_lit4: return "DW_OP_lit4";
286
case DW_OP_lit5: return "DW_OP_lit5";
287
case DW_OP_lit6: return "DW_OP_lit6";
288
case DW_OP_lit7: return "DW_OP_lit7";
289
case DW_OP_lit8: return "DW_OP_lit8";
290
case DW_OP_lit9: return "DW_OP_lit9";
291
case DW_OP_lit10: return "DW_OP_lit10";
292
case DW_OP_lit11: return "DW_OP_lit11";
293
case DW_OP_lit12: return "DW_OP_lit12";
294
case DW_OP_lit13: return "DW_OP_lit13";
295
case DW_OP_lit14: return "DW_OP_lit14";
296
case DW_OP_lit15: return "DW_OP_lit15";
297
case DW_OP_lit16: return "DW_OP_lit16";
298
case DW_OP_lit17: return "DW_OP_lit17";
299
case DW_OP_lit18: return "DW_OP_lit18";
300
case DW_OP_lit19: return "DW_OP_lit19";
301
case DW_OP_lit20: return "DW_OP_lit20";
302
case DW_OP_lit21: return "DW_OP_lit21";
303
case DW_OP_lit22: return "DW_OP_lit22";
304
case DW_OP_lit23: return "DW_OP_lit23";
305
case DW_OP_lit24: return "DW_OP_lit24";
306
case DW_OP_lit25: return "DW_OP_lit25";
307
case DW_OP_lit26: return "DW_OP_lit26";
308
case DW_OP_lit27: return "DW_OP_lit27";
309
case DW_OP_lit28: return "DW_OP_lit28";
310
case DW_OP_lit29: return "DW_OP_lit29";
311
case DW_OP_lit30: return "DW_OP_lit30";
312
case DW_OP_lit31: return "DW_OP_lit31";
313
case DW_OP_reg0: return "DW_OP_reg0";
314
case DW_OP_reg1: return "DW_OP_reg1";
315
case DW_OP_reg2: return "DW_OP_reg2";
316
case DW_OP_reg3: return "DW_OP_reg3";
317
case DW_OP_reg4: return "DW_OP_reg4";
318
case DW_OP_reg5: return "DW_OP_reg5";
319
case DW_OP_reg6: return "DW_OP_reg6";
320
case DW_OP_reg7: return "DW_OP_reg7";
321
case DW_OP_reg8: return "DW_OP_reg8";
322
case DW_OP_reg9: return "DW_OP_reg9";
323
case DW_OP_reg10: return "DW_OP_reg10";
324
case DW_OP_reg11: return "DW_OP_reg11";
325
case DW_OP_reg12: return "DW_OP_reg12";
326
case DW_OP_reg13: return "DW_OP_reg13";
327
case DW_OP_reg14: return "DW_OP_reg14";
328
case DW_OP_reg15: return "DW_OP_reg15";
329
case DW_OP_reg16: return "DW_OP_reg16";
330
case DW_OP_reg17: return "DW_OP_reg17";
331
case DW_OP_reg18: return "DW_OP_reg18";
332
case DW_OP_reg19: return "DW_OP_reg19";
333
case DW_OP_reg20: return "DW_OP_reg20";
334
case DW_OP_reg21: return "DW_OP_reg21";
335
case DW_OP_reg22: return "DW_OP_reg22";
336
case DW_OP_reg23: return "DW_OP_reg23";
337
case DW_OP_reg24: return "DW_OP_reg24";
338
case DW_OP_reg25: return "DW_OP_reg25";
339
case DW_OP_reg26: return "DW_OP_reg26";
340
case DW_OP_reg27: return "DW_OP_reg27";
341
case DW_OP_reg28: return "DW_OP_reg28";
342
case DW_OP_reg29: return "DW_OP_reg29";
343
case DW_OP_reg30: return "DW_OP_reg30";
344
case DW_OP_reg31: return "DW_OP_reg31";
345
case DW_OP_breg0: return "DW_OP_breg0";
346
case DW_OP_breg1: return "DW_OP_breg1";
347
case DW_OP_breg2: return "DW_OP_breg2";
348
case DW_OP_breg3: return "DW_OP_breg3";
349
case DW_OP_breg4: return "DW_OP_breg4";
350
case DW_OP_breg5: return "DW_OP_breg5";
351
case DW_OP_breg6: return "DW_OP_breg6";
352
case DW_OP_breg7: return "DW_OP_breg7";
353
case DW_OP_breg8: return "DW_OP_breg8";
354
case DW_OP_breg9: return "DW_OP_breg9";
355
case DW_OP_breg10: return "DW_OP_breg10";
356
case DW_OP_breg11: return "DW_OP_breg11";
357
case DW_OP_breg12: return "DW_OP_breg12";
358
case DW_OP_breg13: return "DW_OP_breg13";
359
case DW_OP_breg14: return "DW_OP_breg14";
360
case DW_OP_breg15: return "DW_OP_breg15";
361
case DW_OP_breg16: return "DW_OP_breg16";
362
case DW_OP_breg17: return "DW_OP_breg17";
363
case DW_OP_breg18: return "DW_OP_breg18";
364
case DW_OP_breg19: return "DW_OP_breg19";
365
case DW_OP_breg20: return "DW_OP_breg20";
366
case DW_OP_breg21: return "DW_OP_breg21";
367
case DW_OP_breg22: return "DW_OP_breg22";
368
case DW_OP_breg23: return "DW_OP_breg23";
369
case DW_OP_breg24: return "DW_OP_breg24";
370
case DW_OP_breg25: return "DW_OP_breg25";
371
case DW_OP_breg26: return "DW_OP_breg26";
372
case DW_OP_breg27: return "DW_OP_breg27";
373
case DW_OP_breg28: return "DW_OP_breg28";
374
case DW_OP_breg29: return "DW_OP_breg29";
375
case DW_OP_breg30: return "DW_OP_breg30";
376
case DW_OP_breg31: return "DW_OP_breg31";
377
case DW_OP_regx: return "DW_OP_regx";
378
case DW_OP_fbreg: return "DW_OP_fbreg";
379
case DW_OP_bregx: return "DW_OP_bregx";
380
case DW_OP_piece: return "DW_OP_piece";
381
case DW_OP_deref_size: return "DW_OP_deref_size";
382
case DW_OP_xderef_size: return "DW_OP_xderef_size";
383
case DW_OP_nop: return "DW_OP_nop";
384
case DW_OP_push_object_address: return "DW_OP_push_object_address";
385
case DW_OP_call2: return "DW_OP_call2";
386
case DW_OP_call4: return "DW_OP_call4";
387
case DW_OP_call_ref: return "DW_OP_call_ref";
388
case DW_OP_form_tls_address: return "DW_OP_form_tls_address";
389
case DW_OP_call_frame_cfa: return "DW_OP_call_frame_cfa";
390
case DW_OP_lo_user: return "DW_OP_lo_user";
391
case DW_OP_hi_user: return "DW_OP_hi_user";
396
/// AttributeEncodingString - Return the string for the specified attribute
398
const char *llvm::dwarf::AttributeEncodingString(unsigned Encoding) {
400
case DW_ATE_address: return "DW_ATE_address";
401
case DW_ATE_boolean: return "DW_ATE_boolean";
402
case DW_ATE_complex_float: return "DW_ATE_complex_float";
403
case DW_ATE_float: return "DW_ATE_float";
404
case DW_ATE_signed: return "DW_ATE_signed";
405
case DW_ATE_signed_char: return "DW_ATE_signed_char";
406
case DW_ATE_unsigned: return "DW_ATE_unsigned";
407
case DW_ATE_unsigned_char: return "DW_ATE_unsigned_char";
408
case DW_ATE_imaginary_float: return "DW_ATE_imaginary_float";
409
case DW_ATE_packed_decimal: return "DW_ATE_packed_decimal";
410
case DW_ATE_numeric_string: return "DW_ATE_numeric_string";
411
case DW_ATE_edited: return "DW_ATE_edited";
412
case DW_ATE_signed_fixed: return "DW_ATE_signed_fixed";
413
case DW_ATE_unsigned_fixed: return "DW_ATE_unsigned_fixed";
414
case DW_ATE_decimal_float: return "DW_ATE_decimal_float";
415
case DW_ATE_lo_user: return "DW_ATE_lo_user";
416
case DW_ATE_hi_user: return "DW_ATE_hi_user";
421
/// DecimalSignString - Return the string for the specified decimal sign
423
const char *llvm::dwarf::DecimalSignString(unsigned Sign) {
425
case DW_DS_unsigned: return "DW_DS_unsigned";
426
case DW_DS_leading_overpunch: return "DW_DS_leading_overpunch";
427
case DW_DS_trailing_overpunch: return "DW_DS_trailing_overpunch";
428
case DW_DS_leading_separate: return "DW_DS_leading_separate";
429
case DW_DS_trailing_separate: return "DW_DS_trailing_separate";
434
/// EndianityString - Return the string for the specified endianity.
436
const char *llvm::dwarf::EndianityString(unsigned Endian) {
438
case DW_END_default: return "DW_END_default";
439
case DW_END_big: return "DW_END_big";
440
case DW_END_little: return "DW_END_little";
441
case DW_END_lo_user: return "DW_END_lo_user";
442
case DW_END_hi_user: return "DW_END_hi_user";
447
/// AccessibilityString - Return the string for the specified accessibility.
449
const char *llvm::dwarf::AccessibilityString(unsigned Access) {
451
// Accessibility codes
452
case DW_ACCESS_public: return "DW_ACCESS_public";
453
case DW_ACCESS_protected: return "DW_ACCESS_protected";
454
case DW_ACCESS_private: return "DW_ACCESS_private";
459
/// VisibilityString - Return the string for the specified visibility.
461
const char *llvm::dwarf::VisibilityString(unsigned Visibility) {
462
switch (Visibility) {
463
case DW_VIS_local: return "DW_VIS_local";
464
case DW_VIS_exported: return "DW_VIS_exported";
465
case DW_VIS_qualified: return "DW_VIS_qualified";
470
/// VirtualityString - Return the string for the specified virtuality.
472
const char *llvm::dwarf::VirtualityString(unsigned Virtuality) {
473
switch (Virtuality) {
474
case DW_VIRTUALITY_none: return "DW_VIRTUALITY_none";
475
case DW_VIRTUALITY_virtual: return "DW_VIRTUALITY_virtual";
476
case DW_VIRTUALITY_pure_virtual: return "DW_VIRTUALITY_pure_virtual";
481
/// LanguageString - Return the string for the specified language.
483
const char *llvm::dwarf::LanguageString(unsigned Language) {
485
case DW_LANG_C89: return "DW_LANG_C89";
486
case DW_LANG_C: return "DW_LANG_C";
487
case DW_LANG_Ada83: return "DW_LANG_Ada83";
488
case DW_LANG_C_plus_plus: return "DW_LANG_C_plus_plus";
489
case DW_LANG_Cobol74: return "DW_LANG_Cobol74";
490
case DW_LANG_Cobol85: return "DW_LANG_Cobol85";
491
case DW_LANG_Fortran77: return "DW_LANG_Fortran77";
492
case DW_LANG_Fortran90: return "DW_LANG_Fortran90";
493
case DW_LANG_Pascal83: return "DW_LANG_Pascal83";
494
case DW_LANG_Modula2: return "DW_LANG_Modula2";
495
case DW_LANG_Java: return "DW_LANG_Java";
496
case DW_LANG_C99: return "DW_LANG_C99";
497
case DW_LANG_Ada95: return "DW_LANG_Ada95";
498
case DW_LANG_Fortran95: return "DW_LANG_Fortran95";
499
case DW_LANG_PLI: return "DW_LANG_PLI";
500
case DW_LANG_ObjC: return "DW_LANG_ObjC";
501
case DW_LANG_ObjC_plus_plus: return "DW_LANG_ObjC_plus_plus";
502
case DW_LANG_UPC: return "DW_LANG_UPC";
503
case DW_LANG_D: return "DW_LANG_D";
504
case DW_LANG_lo_user: return "DW_LANG_lo_user";
505
case DW_LANG_hi_user: return "DW_LANG_hi_user";
510
/// CaseString - Return the string for the specified identifier case.
512
const char *llvm::dwarf::CaseString(unsigned Case) {
514
case DW_ID_case_sensitive: return "DW_ID_case_sensitive";
515
case DW_ID_up_case: return "DW_ID_up_case";
516
case DW_ID_down_case: return "DW_ID_down_case";
517
case DW_ID_case_insensitive: return "DW_ID_case_insensitive";
522
/// ConventionString - Return the string for the specified calling convention.
524
const char *llvm::dwarf::ConventionString(unsigned Convention) {
525
switch (Convention) {
526
case DW_CC_normal: return "DW_CC_normal";
527
case DW_CC_program: return "DW_CC_program";
528
case DW_CC_nocall: return "DW_CC_nocall";
529
case DW_CC_lo_user: return "DW_CC_lo_user";
530
case DW_CC_hi_user: return "DW_CC_hi_user";
535
/// InlineCodeString - Return the string for the specified inline code.
537
const char *llvm::dwarf::InlineCodeString(unsigned Code) {
539
case DW_INL_not_inlined: return "DW_INL_not_inlined";
540
case DW_INL_inlined: return "DW_INL_inlined";
541
case DW_INL_declared_not_inlined: return "DW_INL_declared_not_inlined";
542
case DW_INL_declared_inlined: return "DW_INL_declared_inlined";
547
/// ArrayOrderString - Return the string for the specified array order.
549
const char *llvm::dwarf::ArrayOrderString(unsigned Order) {
551
case DW_ORD_row_major: return "DW_ORD_row_major";
552
case DW_ORD_col_major: return "DW_ORD_col_major";
557
/// DiscriminantString - Return the string for the specified discriminant
559
const char *llvm::dwarf::DiscriminantString(unsigned Discriminant) {
560
switch (Discriminant) {
561
case DW_DSC_label: return "DW_DSC_label";
562
case DW_DSC_range: return "DW_DSC_range";
567
/// LNStandardString - Return the string for the specified line number standard.
569
const char *llvm::dwarf::LNStandardString(unsigned Standard) {
571
case DW_LNS_copy: return "DW_LNS_copy";
572
case DW_LNS_advance_pc: return "DW_LNS_advance_pc";
573
case DW_LNS_advance_line: return "DW_LNS_advance_line";
574
case DW_LNS_set_file: return "DW_LNS_set_file";
575
case DW_LNS_set_column: return "DW_LNS_set_column";
576
case DW_LNS_negate_stmt: return "DW_LNS_negate_stmt";
577
case DW_LNS_set_basic_block: return "DW_LNS_set_basic_block";
578
case DW_LNS_const_add_pc: return "DW_LNS_const_add_pc";
579
case DW_LNS_fixed_advance_pc: return "DW_LNS_fixed_advance_pc";
580
case DW_LNS_set_prologue_end: return "DW_LNS_set_prologue_end";
581
case DW_LNS_set_epilogue_begin: return "DW_LNS_set_epilogue_begin";
582
case DW_LNS_set_isa: return "DW_LNS_set_isa";
587
/// LNExtendedString - Return the string for the specified line number extended
588
/// opcode encodings.
589
const char *llvm::dwarf::LNExtendedString(unsigned Encoding) {
591
// Line Number Extended Opcode Encodings
592
case DW_LNE_end_sequence: return "DW_LNE_end_sequence";
593
case DW_LNE_set_address: return "DW_LNE_set_address";
594
case DW_LNE_define_file: return "DW_LNE_define_file";
595
case DW_LNE_lo_user: return "DW_LNE_lo_user";
596
case DW_LNE_hi_user: return "DW_LNE_hi_user";
601
/// MacinfoString - Return the string for the specified macinfo type encodings.
603
const char *llvm::dwarf::MacinfoString(unsigned Encoding) {
605
// Macinfo Type Encodings
606
case DW_MACINFO_define: return "DW_MACINFO_define";
607
case DW_MACINFO_undef: return "DW_MACINFO_undef";
608
case DW_MACINFO_start_file: return "DW_MACINFO_start_file";
609
case DW_MACINFO_end_file: return "DW_MACINFO_end_file";
610
case DW_MACINFO_vendor_ext: return "DW_MACINFO_vendor_ext";
615
/// CallFrameString - Return the string for the specified call frame instruction
617
const char *llvm::dwarf::CallFrameString(unsigned Encoding) {
619
case DW_CFA_advance_loc: return "DW_CFA_advance_loc";
620
case DW_CFA_offset: return "DW_CFA_offset";
621
case DW_CFA_restore: return "DW_CFA_restore";
622
case DW_CFA_set_loc: return "DW_CFA_set_loc";
623
case DW_CFA_advance_loc1: return "DW_CFA_advance_loc1";
624
case DW_CFA_advance_loc2: return "DW_CFA_advance_loc2";
625
case DW_CFA_advance_loc4: return "DW_CFA_advance_loc4";
626
case DW_CFA_offset_extended: return "DW_CFA_offset_extended";
627
case DW_CFA_restore_extended: return "DW_CFA_restore_extended";
628
case DW_CFA_undefined: return "DW_CFA_undefined";
629
case DW_CFA_same_value: return "DW_CFA_same_value";
630
case DW_CFA_register: return "DW_CFA_register";
631
case DW_CFA_remember_state: return "DW_CFA_remember_state";
632
case DW_CFA_restore_state: return "DW_CFA_restore_state";
633
case DW_CFA_def_cfa: return "DW_CFA_def_cfa";
634
case DW_CFA_def_cfa_register: return "DW_CFA_def_cfa_register";
635
case DW_CFA_def_cfa_offset: return "DW_CFA_def_cfa_offset";
636
case DW_CFA_def_cfa_expression: return "DW_CFA_def_cfa_expression";
637
case DW_CFA_expression: return "DW_CFA_expression";
638
case DW_CFA_offset_extended_sf: return "DW_CFA_offset_extended_sf";
639
case DW_CFA_def_cfa_sf: return "DW_CFA_def_cfa_sf";
640
case DW_CFA_def_cfa_offset_sf: return "DW_CFA_def_cfa_offset_sf";
641
case DW_CFA_val_offset: return "DW_CFA_val_offset";
642
case DW_CFA_val_offset_sf: return "DW_CFA_val_offset_sf";
643
case DW_CFA_val_expression: return "DW_CFA_val_expression";
644
case DW_CFA_lo_user: return "DW_CFA_lo_user";
645
case DW_CFA_hi_user: return "DW_CFA_hi_user";