Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:44:21

0001 //===--- DWARFEmitter.h - ---------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 /// \file
0009 /// Common declarations for yaml2obj
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 } // end namespace DWARFYAML
0054 } // end namespace llvm
0055 
0056 #endif // LLVM_OBJECTYAML_DWARFEMITTER_H