File indexing completed on 2026-05-10 08:44:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef LLVM_OBJECTYAML_DWARFEMITTER_H
0013 #define LLVM_OBJECTYAML_DWARFEMITTER_H
0014
0015 #include "llvm/ADT/StringMap.h"
0016 #include "llvm/ADT/StringRef.h"
0017 #include "llvm/Support/Error.h"
0018 #include "llvm/Support/MemoryBuffer.h"
0019 #include "llvm/TargetParser/Host.h"
0020 #include <memory>
0021
0022 namespace llvm {
0023
0024 class raw_ostream;
0025
0026 namespace DWARFYAML {
0027
0028 struct Data;
0029
0030 Error emitDebugAbbrev(raw_ostream &OS, const Data &DI);
0031 Error emitDebugStr(raw_ostream &OS, const Data &DI);
0032
0033 Error emitDebugAranges(raw_ostream &OS, const Data &DI);
0034 Error emitDebugRanges(raw_ostream &OS, const Data &DI);
0035 Error emitDebugPubnames(raw_ostream &OS, const Data &DI);
0036 Error emitDebugPubtypes(raw_ostream &OS, const Data &DI);
0037 Error emitDebugGNUPubnames(raw_ostream &OS, const Data &DI);
0038 Error emitDebugGNUPubtypes(raw_ostream &OS, const Data &DI);
0039 Error emitDebugInfo(raw_ostream &OS, const Data &DI);
0040 Error emitDebugLine(raw_ostream &OS, const Data &DI);
0041 Error emitDebugAddr(raw_ostream &OS, const Data &DI);
0042 Error emitDebugStrOffsets(raw_ostream &OS, const Data &DI);
0043 Error emitDebugRnglists(raw_ostream &OS, const Data &DI);
0044 Error emitDebugLoclists(raw_ostream &OS, const Data &DI);
0045 Error emitDebugNames(raw_ostream &OS, const Data &DI);
0046
0047 std::function<Error(raw_ostream &, const Data &)>
0048 getDWARFEmitterByName(StringRef SecName);
0049 Expected<StringMap<std::unique_ptr<MemoryBuffer>>>
0050 emitDebugSections(StringRef YAMLString,
0051 bool IsLittleEndian = sys::IsLittleEndianHost,
0052 bool Is64BitAddrSize = true);
0053 }
0054 }
0055
0056 #endif