#include "llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFExpression.h"
#include "llvm/Support/FormatVariadic.h"
namespace llvm {
usingnamespacedwarf_linker;
usingnamespacedwarf_linker::classic;
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void CompileUnit::DIEInfo::dump() {
llvm::errs() << "{\n";
llvm::errs() << " AddrAdjust: " << AddrAdjust << '\n';
llvm::errs() << " Ctxt: " << formatv("{0:x}", Ctxt) << '\n';
llvm::errs() << " Clone: " << formatv("{0:x}", Clone) << '\n';
llvm::errs() << " ParentIdx: " << ParentIdx << '\n';
llvm::errs() << " Keep: " << Keep << '\n';
llvm::errs() << " InDebugMap: " << InDebugMap << '\n';
llvm::errs() << " Prune: " << Prune << '\n';
llvm::errs() << " Incomplete: " << Incomplete << '\n';
llvm::errs() << " InModuleScope: " << InModuleScope << '\n';
llvm::errs() << " ODRMarkingDone: " << ODRMarkingDone << '\n';
llvm::errs() << " UnclonedReference: " << UnclonedReference << '\n';
llvm::errs() << "}\n";
}
#endif
static bool inFunctionScope(CompileUnit &U, unsigned Idx) { … }
uint16_t CompileUnit::getLanguage() { … }
StringRef CompileUnit::getSysRoot() { … }
void CompileUnit::markEverythingAsKept() { … }
uint64_t CompileUnit::computeNextUnitOffset(uint16_t DwarfVersion) { … }
void CompileUnit::noteForwardReference(DIE *Die, const CompileUnit *RefUnit,
DeclContext *Ctxt, PatchLocation Attr) { … }
void CompileUnit::fixupForwardReferences() { … }
void CompileUnit::addLabelLowPc(uint64_t LabelLowPc, int64_t PcOffset) { … }
void CompileUnit::addFunctionRange(uint64_t FuncLowPc, uint64_t FuncHighPc,
int64_t PcOffset) { … }
void CompileUnit::noteRangeAttribute(const DIE &Die, PatchLocation Attr) { … }
void CompileUnit::noteLocationAttribute(PatchLocation Attr) { … }
void CompileUnit::addNamespaceAccelerator(const DIE *Die,
DwarfStringPoolEntryRef Name) { … }
void CompileUnit::addObjCAccelerator(const DIE *Die,
DwarfStringPoolEntryRef Name,
bool SkipPubSection) { … }
void CompileUnit::addNameAccelerator(const DIE *Die,
DwarfStringPoolEntryRef Name,
bool SkipPubSection) { … }
void CompileUnit::addTypeAccelerator(const DIE *Die,
DwarfStringPoolEntryRef Name,
bool ObjcClassImplementation,
uint32_t QualifiedNameHash) { … }
}