20 #ifndef LLVM_SUPPORT_DWARF_H
21 #define LLVM_SUPPORT_DWARF_H
24 #include "llvm/Support/DataTypes.h"
58 #define HANDLE_DW_TAG(ID, NAME) DW_TAG_##NAME = ID,
59 #include "llvm/Support/Dwarf.def"
67 case DW_TAG_array_type:
68 case DW_TAG_class_type:
69 case DW_TAG_interface_type:
70 case DW_TAG_enumeration_type:
71 case DW_TAG_pointer_type:
72 case DW_TAG_reference_type:
73 case DW_TAG_rvalue_reference_type:
74 case DW_TAG_string_type:
75 case DW_TAG_structure_type:
76 case DW_TAG_subroutine_type:
77 case DW_TAG_union_type:
78 case DW_TAG_ptr_to_member_type:
80 case DW_TAG_subrange_type:
81 case DW_TAG_base_type:
82 case DW_TAG_const_type:
83 case DW_TAG_file_type:
84 case DW_TAG_packed_type:
85 case DW_TAG_volatile_type:
95 #define HANDLE_DW_AT(ID, NAME) DW_AT_##NAME = ID,
96 #include "llvm/Support/Dwarf.def"
102 #define HANDLE_DW_FORM(ID, NAME) DW_FORM_##NAME = ID,
103 #include "llvm/Support/Dwarf.def"
108 #define HANDLE_DW_OP(ID, NAME) DW_OP_##NAME = ID,
109 #include "llvm/Support/Dwarf.def"
116 #define HANDLE_DW_ATE(ID, NAME) DW_ATE_##NAME = ID,
117 #include "llvm/Support/Dwarf.def"
155 #define HANDLE_DW_VIRTUALITY(ID, NAME) DW_VIRTUALITY_##NAME = ID,
156 #include "llvm/Support/Dwarf.def"
161 #define HANDLE_DW_DEFAULTED(ID, NAME) DW_DEFAULTED_##NAME = ID,
162 #include "llvm/Support/Dwarf.def"
167 #define HANDLE_DW_LANG(ID, NAME) DW_LANG_##NAME = ID,
168 #include "llvm/Support/Dwarf.def"
183 #define HANDLE_DW_CC(ID, NAME) DW_CC_##NAME = ID,
184 #include "llvm/Support/Dwarf.def"
211 #define HANDLE_DW_LNS(ID, NAME) DW_LNS_##NAME = ID,
212 #include "llvm/Support/Dwarf.def"
217 #define HANDLE_DW_LNE(ID, NAME) DW_LNE_##NAME = ID,
218 #include "llvm/Support/Dwarf.def"
224 #define HANDLE_DW_LNCT(ID, NAME) DW_DEFAULTED_##NAME = ID,
225 #include "llvm/Support/Dwarf.def"
241 #define HANDLE_DW_MACRO(ID, NAME) DW_MACRO_##NAME = ID,
242 #include "llvm/Support/Dwarf.def"
249 #define HANDLE_DW_RLE(ID, NAME) DW_RLE_##NAME = ID,
250 #include "llvm/Support/Dwarf.def"
256 #define HANDLE_DW_CFA(ID, NAME) DW_CFA_##NAME = ID,
257 #include "llvm/Support/Dwarf.def"
304 #define HANDLE_DW_APPLE_PROPERTY(ID, NAME) DW_APPLE_PROPERTY_##NAME = ID,
305 #include "llvm/Support/Dwarf.def"
418 : Kind(Kind), Linkage(Linkage) {}
427 return Kind << KIND_OFFSET |
Linkage << LINKAGE_OFFSET;
433 KIND_MASK = 7 << KIND_OFFSET,
435 LINKAGE_MASK = 1 << LINKAGE_OFFSET
StringRef ApplePropertyString(unsigned)
PubIndexEntryDescriptor(GDBIndexEntryKind Kind)
LineNumberOps
Line Number Standard Opcode Encodings.
StringRef AtomTypeString(unsigned Atom)
StringRef LNExtendedString(unsigned Encoding)
StringRef LNStandardString(unsigned Standard)
ELFYAML::ELF_STV Visibility
unsigned getVirtuality(StringRef VirtualityString)
CallFrameInfo
Call frame instruction encodings.
StringRef FormEncodingString(unsigned Encoding)
Only used in LLVM metadata.
PubIndexEntryDescriptor(uint8_t Value)
Decsribes an entry of the various gnu_pub* debug sections.
MacroEntryType
DWARF v5 macro information entry type encodings.
StringRef AttributeString(unsigned Attribute)
StringRef LanguageString(unsigned Language)
StringRef DecimalSignString(unsigned Sign)
StringRef AttributeValueString(uint16_t Attr, unsigned Val)
Returns the symbolic string representing Val when used as a value for attribute Attr.
StringRef GDBIndexEntryKindString(GDBIndexEntryKind Kind)
StringRef AccessibilityString(unsigned Access)
StringRef EndianityString(unsigned Endian)
StringRef AttributeEncodingString(unsigned Encoding)
StringRef CallFrameString(unsigned Encoding)
unsigned getCallingConvention(StringRef LanguageString)
DwarfFormat
Constants that define the DWARF format as 32 or 64 bit.
unsigned getOperationEncoding(StringRef OperationEncodingString)
StringRef DiscriminantString(unsigned Discriminant)
StringRef ArrayOrderString(unsigned Order)
StringRef GDBIndexEntryLinkageString(GDBIndexEntryLinkage Linkage)
GDBIndexEntryLinkage Linkage
unsigned getLanguage(StringRef LanguageString)
LineNumberExtendedOps
Line Number Extended Opcode Encodings.
StringRef VirtualityString(unsigned Virtuality)
StringRef OperationEncodingString(unsigned Encoding)
unsigned getTag(StringRef TagString)
StringRef CaseString(unsigned Case)
ApplePropertyAttributes
Constants for the DW_APPLE_PROPERTY_attributes attribute.
LocationListEntry
Constants for location lists in DWARF v5.
PubIndexEntryDescriptor(GDBIndexEntryKind Kind, GDBIndexEntryLinkage Linkage)
StringRef VisibilityString(unsigned Visibility)
RangeListEntries
DWARF v5 range list entry encoding values.
StringRef TagString(unsigned Tag)
StringRef InlineCodeString(unsigned Code)
StringRef ConventionString(unsigned Convention)
unsigned getMacinfo(StringRef MacinfoString)
StringRef ChildrenString(unsigned Children)
LLVM Value Representation.
unsigned getAttributeEncoding(StringRef EncodingString)
StringRef - Represent a constant reference to a string, i.e.
StringRef MacinfoString(unsigned Encoding)
const uint64_t DW64_CIE_ID