LLVM  10.0.0svn
DWARFEmitter.h
Go to the documentation of this file.
1 //===--- DWARFEmitter.h - ---------------------------------------*- C++ -*-===//
2 //
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
6 //
7 //===----------------------------------------------------------------------===//
8 /// \file
9 /// Common declarations for yaml2obj
10 //===----------------------------------------------------------------------===//
11 
12 #ifndef LLVM_OBJECTYAML_DWARFEMITTER_H
13 #define LLVM_OBJECTYAML_DWARFEMITTER_H
14 
15 #include "llvm/ADT/StringMap.h"
16 #include "llvm/ADT/StringRef.h"
17 #include "llvm/Support/Error.h"
18 #include "llvm/Support/Host.h"
20 #include <memory>
21 
22 namespace llvm {
23 
24 class raw_ostream;
25 
26 namespace DWARFYAML {
27 
28 struct Data;
29 struct PubSection;
30 
31 void EmitDebugAbbrev(raw_ostream &OS, const Data &DI);
32 void EmitDebugStr(raw_ostream &OS, const Data &DI);
33 
34 void EmitDebugAranges(raw_ostream &OS, const Data &DI);
35 void EmitPubSection(raw_ostream &OS, const PubSection &Sect,
36  bool IsLittleEndian);
37 void EmitDebugInfo(raw_ostream &OS, const Data &DI);
38 void EmitDebugLine(raw_ostream &OS, const Data &DI);
39 
41 EmitDebugSections(StringRef YAMLString, bool ApplyFixups = false,
42  bool IsLittleEndian = sys::IsLittleEndianHost);
44 EmitDebugSections(llvm::DWARFYAML::Data &DI, bool ApplyFixups);
45 
46 } // end namespace DWARFYAML
47 } // end namespace llvm
48 
49 #endif // LLVM_OBJECTYAML_DWARFEMITTER_H
This class represents lattice values for constants.
Definition: AllocatorList.h:23
void EmitDebugInfo(raw_ostream &OS, const Data &DI)
void EmitDebugAranges(raw_ostream &OS, const Data &DI)
Expected< StringMap< std::unique_ptr< MemoryBuffer > > > EmitDebugSections(StringRef YAMLString, bool ApplyFixups=false, bool IsLittleEndian=sys::IsLittleEndianHost)
Tagged union holding either a T or a Error.
Definition: yaml2obj.h:21
void EmitDebugAbbrev(raw_ostream &OS, const Data &DI)
static const bool IsLittleEndianHost
Definition: Host.h:49
void EmitPubSection(raw_ostream &OS, const PubSection &Sect, bool IsLittleEndian)
StringMap - This is an unconventional map that is specialized for handling keys that are "strings"...
Definition: StringMap.h:219
void EmitDebugStr(raw_ostream &OS, const Data &DI)
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:45
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:48
void EmitDebugLine(raw_ostream &OS, const Data &DI)