16 #ifndef LLVM_OBJECTYAML_DWARFYAML_H 17 #define LLVM_OBJECTYAML_DWARFYAML_H 32 bool isDWARF64()
const {
return TotalLength == UINT32_MAX; }
39 if (Len >= (uint64_t)UINT32_MAX) {
41 TotalLength = UINT32_MAX;
86 bool IsGNUStyle =
false;
159 bool isEmpty()
const;
165 LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::Hex64)
166 LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::yaml::Hex8)
238 #define HANDLE_DW_TAG(unused, name, unused2, unused3) \ 239 io.enumCase(value, "DW_TAG_" #name, dwarf::DW_TAG_##name); 241 template <>
struct ScalarEnumerationTraits<dwarf::
Tag> {
243 #include "llvm/BinaryFormat/Dwarf.def" 244 io.enumFallback<Hex16>(value);
248 #define HANDLE_DW_LNS(unused, name) \ 249 io.enumCase(value, "DW_LNS_" #name, dwarf::DW_LNS_##name); 253 #include "llvm/BinaryFormat/Dwarf.def" 254 io.enumFallback<Hex8>(value);
258 #define HANDLE_DW_LNE(unused, name) \ 259 io.enumCase(value, "DW_LNE_" #name, dwarf::DW_LNE_##name); 263 #include "llvm/BinaryFormat/Dwarf.def" 264 io.enumFallback<Hex16>(value);
268 #define HANDLE_DW_AT(unused, name, unused2, unused3) \ 269 io.enumCase(value, "DW_AT_" #name, dwarf::DW_AT_##name); 271 template <>
struct ScalarEnumerationTraits<dwarf::
Attribute> {
273 #include "llvm/BinaryFormat/Dwarf.def" 274 io.enumFallback<Hex16>(value);
278 #define HANDLE_DW_FORM(unused, name, unused2, unused3) \ 279 io.enumCase(value, "DW_FORM_" #name, dwarf::DW_FORM_##name); 281 template <>
struct ScalarEnumerationTraits<dwarf::
Form> {
283 #include "llvm/BinaryFormat/Dwarf.def" 284 io.enumFallback<Hex16>(value);
288 #define HANDLE_DW_UT(unused, name) \ 289 io.enumCase(value, "DW_UT_" #name, dwarf::DW_UT_##name); 291 template <>
struct ScalarEnumerationTraits<dwarf::
UnitType> {
293 #include "llvm/BinaryFormat/Dwarf.def" 294 io.enumFallback<Hex8>(value);
298 template <>
struct ScalarEnumerationTraits<dwarf::
Constants> {
302 io.enumFallback<Hex16>(value);
309 #endif // LLVM_OBJECTYAML_DWARFYAML_H
llvm::dwarf::Constants Children
std::vector< AttributeAbbrev > Attributes
LineNumberOps
Line Number Standard Opcode Encodings.
This class represents lattice values for constants.
llvm::dwarf::UnitType Type
dwarf::LineNumberExtendedOps SubOpcode
dwarf::LineNumberOps Opcode
static void enumeration(IO &io, dwarf::LineNumberOps &value)
std::vector< Abbrev > AbbrevDecls
static void enumeration(IO &io, dwarf::LineNumberExtendedOps &value)
llvm::yaml::Hex64 Address
std::vector< uint8_t > StandardOpcodeLengths
std::vector< PubEntry > Entries
std::vector< ARangeDescriptor > Descriptors
uint64_t getLength() const
std::vector< ARange > ARanges
std::vector< Unit > CompileUnits
static void enumeration(IO &io, dwarf::UnitType &value)
std::vector< File > Files
llvm::yaml::Hex32 DieOffset
std::vector< LineTable > DebugLines
static void enumeration(IO &io, dwarf::Tag &value)
std::vector< StringRef > IncludeDirs
std::vector< Entry > Entries
std::vector< FormValue > Values
llvm::yaml::Hex8 Descriptor
LineNumberExtendedOps
Line Number Extended Opcode Encodings.
UnitType
Constants for unit types in DWARF v5.
llvm::dwarf::Attribute Attribute
std::vector< StringRef > DebugStrings
llvm::yaml::Hex32 AbbrCode
This file contains constants used for implementing Dwarf debug support.
std::vector< llvm::yaml::Hex8 > UnknownOpcodeData
static void enumeration(IO &io, dwarf::Attribute &value)
std::vector< llvm::yaml::Hex64 > StandardOpcodeData
std::vector< LineTableOpcode > Opcodes
void setLength(uint64_t Len)
StringRef - Represent a constant reference to a string, i.e.
static void enumeration(IO &io, dwarf::Constants &value)