blob: 72c787ee12454f86888e1b10be9093c1b966ed9b [file] [log] [blame]
Jim Laskey22e47b92006-02-27 12:43:29 +00001//===-- llvm/Support/Dwarf.cpp - Dwarf Framework ----------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
Chris Lattnerf3ebc3f2007-12-29 20:36:04 +00005// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Jim Laskey22e47b92006-02-27 12:43:29 +00007//
8//===----------------------------------------------------------------------===//
9//
10// This file contains support for generic dwarf information.
11//
12//===----------------------------------------------------------------------===//
13
14#include "llvm/Support/Dwarf.h"
Duncan P. N. Exon Smith6f5546c2015-02-03 21:16:49 +000015#include "llvm/ADT/StringSwitch.h"
David Blaikied0a869d2013-09-19 22:19:37 +000016#include "llvm/Support/ErrorHandling.h"
17
Chris Lattner3b326722009-12-29 07:28:33 +000018using namespace llvm;
19using namespace dwarf;
Jim Laskey22e47b92006-02-27 12:43:29 +000020
Mehdi Amini149f6ea2016-10-05 05:59:29 +000021StringRef llvm::dwarf::TagString(unsigned Tag) {
Mike Stump889285d2009-05-13 23:23:20 +000022 switch (Tag) {
Mehdi Amini149f6ea2016-10-05 05:59:29 +000023 default:
24 return StringRef();
Duncan P. N. Exon Smith981811e2015-02-03 21:13:16 +000025#define HANDLE_DW_TAG(ID, NAME) \
26 case DW_TAG_##NAME: \
27 return "DW_TAG_" #NAME;
28#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +000029 }
Jim Laskey22e47b92006-02-27 12:43:29 +000030}
31
Duncan P. N. Exon Smith6f5546c2015-02-03 21:16:49 +000032unsigned llvm::dwarf::getTag(StringRef TagString) {
33 return StringSwitch<unsigned>(TagString)
34#define HANDLE_DW_TAG(ID, NAME) .Case("DW_TAG_" #NAME, DW_TAG_##NAME)
35#include "llvm/Support/Dwarf.def"
36 .Default(DW_TAG_invalid);
37}
38
Mehdi Amini149f6ea2016-10-05 05:59:29 +000039StringRef llvm::dwarf::ChildrenString(unsigned Children) {
Mike Stump889285d2009-05-13 23:23:20 +000040 switch (Children) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +000041 case DW_CHILDREN_no: return "DW_CHILDREN_no";
42 case DW_CHILDREN_yes: return "DW_CHILDREN_yes";
Jim Laskey22e47b92006-02-27 12:43:29 +000043 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +000044 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +000045}
46
Mehdi Amini149f6ea2016-10-05 05:59:29 +000047StringRef llvm::dwarf::AttributeString(unsigned Attribute) {
Mike Stump889285d2009-05-13 23:23:20 +000048 switch (Attribute) {
Adrian Prantl7e55f172016-10-28 18:21:39 +000049 default:
50 return StringRef();
51#define HANDLE_DW_AT(ID, NAME) \
52 case DW_AT_##NAME: \
53 return "DW_AT_" #NAME;
54#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +000055 }
Jim Laskey22e47b92006-02-27 12:43:29 +000056}
57
Mehdi Amini149f6ea2016-10-05 05:59:29 +000058StringRef llvm::dwarf::FormEncodingString(unsigned Encoding) {
Mike Stump889285d2009-05-13 23:23:20 +000059 switch (Encoding) {
Adrian Prantl23865812016-10-28 22:56:45 +000060 default:
61 return StringRef();
62#define HANDLE_DW_FORM(ID, NAME) \
63 case DW_FORM_##NAME: \
64 return "DW_FORM_" #NAME;
65#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +000066 }
Jim Laskey22e47b92006-02-27 12:43:29 +000067}
68
Mehdi Amini149f6ea2016-10-05 05:59:29 +000069StringRef llvm::dwarf::OperationEncodingString(unsigned Encoding) {
Mike Stump889285d2009-05-13 23:23:20 +000070 switch (Encoding) {
Mehdi Amini149f6ea2016-10-05 05:59:29 +000071 default:
72 return StringRef();
Duncan P. N. Exon Smith8f46ee62015-02-13 01:04:08 +000073#define HANDLE_DW_OP(ID, NAME) \
74 case DW_OP_##NAME: \
75 return "DW_OP_" #NAME;
76#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +000077 }
Jim Laskey22e47b92006-02-27 12:43:29 +000078}
79
Duncan P. N. Exon Smith3b631d22015-02-13 01:05:00 +000080unsigned llvm::dwarf::getOperationEncoding(StringRef OperationEncodingString) {
81 return StringSwitch<unsigned>(OperationEncodingString)
82#define HANDLE_DW_OP(ID, NAME) .Case("DW_OP_" #NAME, DW_OP_##NAME)
83#include "llvm/Support/Dwarf.def"
84 .Default(0);
85}
86
Mehdi Amini149f6ea2016-10-05 05:59:29 +000087StringRef llvm::dwarf::AttributeEncodingString(unsigned Encoding) {
Mike Stump889285d2009-05-13 23:23:20 +000088 switch (Encoding) {
Mehdi Amini149f6ea2016-10-05 05:59:29 +000089 default:
90 return StringRef();
Duncan P. N. Exon Smithdd563dd2015-02-06 23:45:37 +000091#define HANDLE_DW_ATE(ID, NAME) \
92 case DW_ATE_##NAME: \
93 return "DW_ATE_" #NAME;
94#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +000095 }
Jim Laskey22e47b92006-02-27 12:43:29 +000096}
97
Duncan P. N. Exon Smithe07f13a2015-02-06 23:46:49 +000098unsigned llvm::dwarf::getAttributeEncoding(StringRef EncodingString) {
99 return StringSwitch<unsigned>(EncodingString)
100#define HANDLE_DW_ATE(ID, NAME) .Case("DW_ATE_" #NAME, DW_ATE_##NAME)
101#include "llvm/Support/Dwarf.def"
102 .Default(0);
103}
104
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000105StringRef llvm::dwarf::DecimalSignString(unsigned Sign) {
Mike Stump889285d2009-05-13 23:23:20 +0000106 switch (Sign) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000107 case DW_DS_unsigned: return "DW_DS_unsigned";
108 case DW_DS_leading_overpunch: return "DW_DS_leading_overpunch";
109 case DW_DS_trailing_overpunch: return "DW_DS_trailing_overpunch";
110 case DW_DS_leading_separate: return "DW_DS_leading_separate";
111 case DW_DS_trailing_separate: return "DW_DS_trailing_separate";
Jim Laskey22e47b92006-02-27 12:43:29 +0000112 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000113 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000114}
115
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000116StringRef llvm::dwarf::EndianityString(unsigned Endian) {
Mike Stump889285d2009-05-13 23:23:20 +0000117 switch (Endian) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000118 case DW_END_default: return "DW_END_default";
119 case DW_END_big: return "DW_END_big";
120 case DW_END_little: return "DW_END_little";
121 case DW_END_lo_user: return "DW_END_lo_user";
122 case DW_END_hi_user: return "DW_END_hi_user";
Jim Laskey22e47b92006-02-27 12:43:29 +0000123 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000124 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000125}
126
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000127StringRef llvm::dwarf::AccessibilityString(unsigned Access) {
Mike Stump889285d2009-05-13 23:23:20 +0000128 switch (Access) {
Chris Lattner0709a272009-12-29 21:09:57 +0000129 // Accessibility codes
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000130 case DW_ACCESS_public: return "DW_ACCESS_public";
131 case DW_ACCESS_protected: return "DW_ACCESS_protected";
132 case DW_ACCESS_private: return "DW_ACCESS_private";
Jim Laskey22e47b92006-02-27 12:43:29 +0000133 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000134 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000135}
136
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000137StringRef llvm::dwarf::VisibilityString(unsigned Visibility) {
Mike Stump889285d2009-05-13 23:23:20 +0000138 switch (Visibility) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000139 case DW_VIS_local: return "DW_VIS_local";
140 case DW_VIS_exported: return "DW_VIS_exported";
141 case DW_VIS_qualified: return "DW_VIS_qualified";
Jim Laskey22e47b92006-02-27 12:43:29 +0000142 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000143 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000144}
145
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000146StringRef llvm::dwarf::VirtualityString(unsigned Virtuality) {
Mike Stump889285d2009-05-13 23:23:20 +0000147 switch (Virtuality) {
Duncan P. N. Exon Smithd6f35742015-02-07 00:36:23 +0000148 default:
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000149 return StringRef();
Duncan P. N. Exon Smithd6f35742015-02-07 00:36:23 +0000150#define HANDLE_DW_VIRTUALITY(ID, NAME) \
151 case DW_VIRTUALITY_##NAME: \
152 return "DW_VIRTUALITY_" #NAME;
153#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +0000154 }
Jim Laskey22e47b92006-02-27 12:43:29 +0000155}
156
Duncan P. N. Exon Smithe7e2abe2015-02-07 00:37:15 +0000157unsigned llvm::dwarf::getVirtuality(StringRef VirtualityString) {
158 return StringSwitch<unsigned>(VirtualityString)
159#define HANDLE_DW_VIRTUALITY(ID, NAME) \
160 .Case("DW_VIRTUALITY_" #NAME, DW_VIRTUALITY_##NAME)
161#include "llvm/Support/Dwarf.def"
162 .Default(DW_VIRTUALITY_invalid);
163}
164
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000165StringRef llvm::dwarf::LanguageString(unsigned Language) {
Mike Stump889285d2009-05-13 23:23:20 +0000166 switch (Language) {
Duncan P. N. Exon Smith03179442015-02-06 22:53:19 +0000167 default:
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000168 return StringRef();
Duncan P. N. Exon Smith03179442015-02-06 22:53:19 +0000169#define HANDLE_DW_LANG(ID, NAME) \
170 case DW_LANG_##NAME: \
171 return "DW_LANG_" #NAME;
172#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +0000173 }
Jim Laskey22e47b92006-02-27 12:43:29 +0000174}
175
Duncan P. N. Exon Smithd40af002015-02-06 22:55:13 +0000176unsigned llvm::dwarf::getLanguage(StringRef LanguageString) {
177 return StringSwitch<unsigned>(LanguageString)
178#define HANDLE_DW_LANG(ID, NAME) .Case("DW_LANG_" #NAME, DW_LANG_##NAME)
179#include "llvm/Support/Dwarf.def"
180 .Default(0);
181}
182
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000183StringRef llvm::dwarf::CaseString(unsigned Case) {
Chris Lattner0709a272009-12-29 21:09:57 +0000184 switch (Case) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000185 case DW_ID_case_sensitive: return "DW_ID_case_sensitive";
186 case DW_ID_up_case: return "DW_ID_up_case";
187 case DW_ID_down_case: return "DW_ID_down_case";
188 case DW_ID_case_insensitive: return "DW_ID_case_insensitive";
Jim Laskey22e47b92006-02-27 12:43:29 +0000189 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000190 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000191}
192
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000193StringRef llvm::dwarf::ConventionString(unsigned CC) {
Reid Klecknerde3d8b52016-06-08 20:34:29 +0000194 switch (CC) {
195 default:
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000196 return StringRef();
Reid Klecknerde3d8b52016-06-08 20:34:29 +0000197#define HANDLE_DW_CC(ID, NAME) \
198 case DW_CC_##NAME: \
199 return "DW_CC_" #NAME;
200#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +0000201 }
Reid Klecknerde3d8b52016-06-08 20:34:29 +0000202}
203
204unsigned llvm::dwarf::getCallingConvention(StringRef CCString) {
205 return StringSwitch<unsigned>(CCString)
206#define HANDLE_DW_CC(ID, NAME) .Case("DW_CC_" #NAME, DW_CC_##NAME)
207#include "llvm/Support/Dwarf.def"
208 .Default(0);
Jim Laskey22e47b92006-02-27 12:43:29 +0000209}
210
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000211StringRef llvm::dwarf::InlineCodeString(unsigned Code) {
Chris Lattner0709a272009-12-29 21:09:57 +0000212 switch (Code) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000213 case DW_INL_not_inlined: return "DW_INL_not_inlined";
214 case DW_INL_inlined: return "DW_INL_inlined";
215 case DW_INL_declared_not_inlined: return "DW_INL_declared_not_inlined";
216 case DW_INL_declared_inlined: return "DW_INL_declared_inlined";
Jim Laskey22e47b92006-02-27 12:43:29 +0000217 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000218 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000219}
220
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000221StringRef llvm::dwarf::ArrayOrderString(unsigned Order) {
Chris Lattner0709a272009-12-29 21:09:57 +0000222 switch (Order) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000223 case DW_ORD_row_major: return "DW_ORD_row_major";
224 case DW_ORD_col_major: return "DW_ORD_col_major";
Jim Laskey22e47b92006-02-27 12:43:29 +0000225 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000226 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000227}
228
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000229StringRef llvm::dwarf::DiscriminantString(unsigned Discriminant) {
Chris Lattner0709a272009-12-29 21:09:57 +0000230 switch (Discriminant) {
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000231 case DW_DSC_label: return "DW_DSC_label";
232 case DW_DSC_range: return "DW_DSC_range";
Jim Laskey22e47b92006-02-27 12:43:29 +0000233 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000234 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000235}
236
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000237StringRef llvm::dwarf::LNStandardString(unsigned Standard) {
Chris Lattner0709a272009-12-29 21:09:57 +0000238 switch (Standard) {
Adrian Prantl79deba62016-10-28 22:56:59 +0000239 default:
240 return StringRef();
241#define HANDLE_DW_LNS(ID, NAME) \
242 case DW_LNS_##NAME: \
243 return "DW_LNS_" #NAME;
244#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +0000245 }
Jim Laskey22e47b92006-02-27 12:43:29 +0000246}
247
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000248StringRef llvm::dwarf::LNExtendedString(unsigned Encoding) {
Chris Lattner0709a272009-12-29 21:09:57 +0000249 switch (Encoding) {
250 // Line Number Extended Opcode Encodings
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000251 case DW_LNE_end_sequence: return "DW_LNE_end_sequence";
252 case DW_LNE_set_address: return "DW_LNE_set_address";
253 case DW_LNE_define_file: return "DW_LNE_define_file";
Nick Lewycky34368122011-09-15 04:23:44 +0000254 case DW_LNE_set_discriminator: return "DW_LNE_set_discriminator";
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000255 case DW_LNE_lo_user: return "DW_LNE_lo_user";
256 case DW_LNE_hi_user: return "DW_LNE_hi_user";
Jim Laskey22e47b92006-02-27 12:43:29 +0000257 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000258 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000259}
260
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000261StringRef llvm::dwarf::MacinfoString(unsigned Encoding) {
Chris Lattner0709a272009-12-29 21:09:57 +0000262 switch (Encoding) {
263 // Macinfo Type Encodings
Jason Molendadd6a4ca2010-06-17 01:23:24 +0000264 case DW_MACINFO_define: return "DW_MACINFO_define";
265 case DW_MACINFO_undef: return "DW_MACINFO_undef";
266 case DW_MACINFO_start_file: return "DW_MACINFO_start_file";
267 case DW_MACINFO_end_file: return "DW_MACINFO_end_file";
268 case DW_MACINFO_vendor_ext: return "DW_MACINFO_vendor_ext";
Amjad Aboude59cc3e2015-11-12 09:38:54 +0000269 case DW_MACINFO_invalid: return "DW_MACINFO_invalid";
Jim Laskey22e47b92006-02-27 12:43:29 +0000270 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000271 return StringRef();
Jim Laskey22e47b92006-02-27 12:43:29 +0000272}
273
Amjad Abouda9bcf162015-12-10 12:56:35 +0000274unsigned llvm::dwarf::getMacinfo(StringRef MacinfoString) {
275 return StringSwitch<unsigned>(MacinfoString)
276 .Case("DW_MACINFO_define", DW_MACINFO_define)
277 .Case("DW_MACINFO_undef", DW_MACINFO_undef)
278 .Case("DW_MACINFO_start_file", DW_MACINFO_start_file)
279 .Case("DW_MACINFO_end_file", DW_MACINFO_end_file)
280 .Case("DW_MACINFO_vendor_ext", DW_MACINFO_vendor_ext)
281 .Default(DW_MACINFO_invalid);
282}
283
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000284StringRef llvm::dwarf::CallFrameString(unsigned Encoding) {
Chris Lattner0709a272009-12-29 21:09:57 +0000285 switch (Encoding) {
Adrian Prantl44a44612016-10-28 22:56:53 +0000286 default:
287 return StringRef();
288#define HANDLE_DW_CFA(ID, NAME) \
289 case DW_CFA_##NAME: \
290 return "DW_CFA_" #NAME;
291#include "llvm/Support/Dwarf.def"
Jim Laskey22e47b92006-02-27 12:43:29 +0000292 }
Jim Laskey22e47b92006-02-27 12:43:29 +0000293}
Eric Christophercf7289f2013-09-05 18:20:16 +0000294
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000295StringRef llvm::dwarf::ApplePropertyString(unsigned Prop) {
Frederic Rissb5e53ee2014-10-09 20:43:04 +0000296 switch (Prop) {
Adrian Prantl8580d3f2016-10-28 22:56:56 +0000297 default:
298 return StringRef();
299#define HANDLE_DW_APPLE_PROPERTY(ID, NAME) \
300 case DW_APPLE_PROPERTY_##NAME: \
301 return "DW_APPLE_PROPERTY_" #NAME;
302#include "llvm/Support/Dwarf.def"
Frederic Rissb5e53ee2014-10-09 20:43:04 +0000303 }
Frederic Rissb5e53ee2014-10-09 20:43:04 +0000304}
305
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000306StringRef llvm::dwarf::AtomTypeString(unsigned AT) {
Eric Christophercf7289f2013-09-05 18:20:16 +0000307 switch (AT) {
308 case dwarf::DW_ATOM_null:
309 return "DW_ATOM_null";
310 case dwarf::DW_ATOM_die_offset:
311 return "DW_ATOM_die_offset";
312 case DW_ATOM_cu_offset:
313 return "DW_ATOM_cu_offset";
314 case DW_ATOM_die_tag:
315 return "DW_ATOM_die_tag";
316 case DW_ATOM_type_flags:
317 return "DW_ATOM_type_flags";
318 }
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000319 return StringRef();
Eric Christophercf7289f2013-09-05 18:20:16 +0000320}
David Blaikied0a869d2013-09-19 22:19:37 +0000321
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000322StringRef llvm::dwarf::GDBIndexEntryKindString(GDBIndexEntryKind Kind) {
David Blaikied0a869d2013-09-19 22:19:37 +0000323 switch (Kind) {
324 case GIEK_NONE:
325 return "NONE";
326 case GIEK_TYPE:
327 return "TYPE";
328 case GIEK_VARIABLE:
329 return "VARIABLE";
330 case GIEK_FUNCTION:
331 return "FUNCTION";
332 case GIEK_OTHER:
333 return "OTHER";
334 case GIEK_UNUSED5:
335 return "UNUSED5";
336 case GIEK_UNUSED6:
337 return "UNUSED6";
338 case GIEK_UNUSED7:
339 return "UNUSED7";
340 }
341 llvm_unreachable("Unknown GDBIndexEntryKind value");
342}
343
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000344StringRef
345llvm::dwarf::GDBIndexEntryLinkageString(GDBIndexEntryLinkage Linkage) {
David Blaikied0a869d2013-09-19 22:19:37 +0000346 switch (Linkage) {
347 case GIEL_EXTERNAL:
348 return "EXTERNAL";
349 case GIEL_STATIC:
350 return "STATIC";
351 }
352 llvm_unreachable("Unknown GDBIndexEntryLinkage value");
353}
Frederic Riss878065b2014-09-04 19:39:20 +0000354
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000355StringRef llvm::dwarf::AttributeValueString(uint16_t Attr, unsigned Val) {
Frederic Riss878065b2014-09-04 19:39:20 +0000356 switch (Attr) {
357 case DW_AT_accessibility:
358 return AccessibilityString(Val);
359 case DW_AT_virtuality:
360 return VirtualityString(Val);
361 case DW_AT_language:
362 return LanguageString(Val);
363 case DW_AT_encoding:
364 return AttributeEncodingString(Val);
365 case DW_AT_decimal_sign:
366 return DecimalSignString(Val);
367 case DW_AT_endianity:
368 return EndianityString(Val);
369 case DW_AT_visibility:
370 return VisibilityString(Val);
371 case DW_AT_identifier_case:
372 return CaseString(Val);
373 case DW_AT_calling_convention:
374 return ConventionString(Val);
375 case DW_AT_inline:
376 return InlineCodeString(Val);
377 case DW_AT_ordering:
378 return ArrayOrderString(Val);
379 case DW_AT_discr_value:
380 return DiscriminantString(Val);
381 }
382
Mehdi Amini149f6ea2016-10-05 05:59:29 +0000383 return StringRef();
Frederic Riss878065b2014-09-04 19:39:20 +0000384}