1 //===--- DWARFEmitter.h - ---------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 /// Common declarations for yaml2obj
10 //===----------------------------------------------------------------------===//
12 #ifndef LLVM_OBJECTYAML_DWARFEMITTER_H
13 #define LLVM_OBJECTYAML_DWARFEMITTER_H
15 #include "llvm/ADT/StringMap.h"
16 #include "llvm/ADT/StringRef.h"
17 #include "llvm/Support/Error.h"
18 #include "llvm/Support/Host.h"
19 #include "llvm/Support/MemoryBuffer.h"
31 void EmitDebugAbbrev(raw_ostream
&OS
, const Data
&DI
);
32 void EmitDebugStr(raw_ostream
&OS
, const Data
&DI
);
34 void EmitDebugAranges(raw_ostream
&OS
, const Data
&DI
);
35 void EmitPubSection(raw_ostream
&OS
, const PubSection
&Sect
,
37 void EmitDebugInfo(raw_ostream
&OS
, const Data
&DI
);
38 void EmitDebugLine(raw_ostream
&OS
, const Data
&DI
);
40 Expected
<StringMap
<std::unique_ptr
<MemoryBuffer
>>>
41 EmitDebugSections(StringRef YAMLString
, bool ApplyFixups
= false,
42 bool IsLittleEndian
= sys::IsLittleEndianHost
);
43 StringMap
<std::unique_ptr
<MemoryBuffer
>>
44 EmitDebugSections(llvm::DWARFYAML::Data
&DI
, bool ApplyFixups
);
46 } // end namespace DWARFYAML
47 } // end namespace llvm
49 #endif // LLVM_OBJECTYAML_DWARFEMITTER_H