llvm::readAbbrevAttribute

Read the next attribute/form spec from an abbreviation declaration.

Synopsis

Declared in <llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h>

bool
readAbbrevAttribute(
    DataExtractor const& AbbrevData,
    uint64_t* Offset,
    dwarf::Attribute& Name,
    dwarf::Form& Form,
    std::optional<int64_t>& ImplicitConst);

Description

Read the next (attribute, form) specification from an abbreviation declaration at Offset, advancing Offset past it. ImplicitConst is set to the inline value of a DW_FORM_implicit_const attribute and to std::nullopt otherwise.

Return Value

false on the terminating (0, 0) pair; true otherwise.

Parameters

NameDescription
AbbrevData.debug_abbrev bytes containing the abbreviation.
OffsetByte offset of the next attribute spec; advanced past it.
NameDWARF attribute name read from the spec.
FormDWARF form encoding read from the spec.
ImplicitConstInline value if Form is DW_FORM_implicit_const; std::nullopt otherwise.