9#ifndef LLVM_DEBUGINFO_DWARF_DWARFDEBUGADDR_H
10#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGADDR_H
21class DWARFDataExtractor;
41 std::vector<uint64_t> Addrs;
44 void invalidateLength() {
Length = 0; }
53 uint16_t CUVersion, uint8_t CUAddrSize,
54 std::function<
void(
Error)> WarnCallback);
58 uint8_t CUAddrSize, std::function<
void(
Error)> WarnCallback);
64 uint16_t CUVersion, uint8_t CUAddrSize);
This file contains constants used for implementing Dwarf debug support.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A class representing an address table as specified in DWARF v5.
uint16_t getVersion() const
Return the version of this table.
uint64_t getLength() const
Return the length of this table.
uint8_t getSegmentSelectorSize() const
Return the segment selector size of this table.
void dump(raw_ostream &OS, DIDumpOptions DumpOpts={}) const
uint8_t getAddressSize() const
Return the address size of this table.
ArrayRef< uint64_t > getAddressEntries() const
Return the parsed addresses of this table.
Error extractV5(const DWARFDataExtractor &Data, uint64_t *OffsetPtr, uint8_t CUAddrSize, std::function< void(Error)> WarnCallback)
Extract a DWARFv5 address table.
Error extractPreStandard(const DWARFDataExtractor &Data, uint64_t *OffsetPtr, uint16_t CUVersion, uint8_t CUAddrSize)
Extract a pre-DWARFv5 address table.
dwarf::DwarfFormat getFormat() const
Return the DWARF format of this table.
std::optional< uint64_t > getFullLength() const
Return the full length of this table, including the length field.
Expected< uint64_t > getAddrEntry(uint32_t Index) const
Return the address based on a given index.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This class implements an extremely fast bulk output stream that can only output to a stream.
DwarfFormat
Constants that define the DWARF format as 32 or 64 bit.
This is an optimization pass for GlobalISel generic memory operations.
Container for dump options that control which debug information will be dumped.