LLVM  8.0.1
DWARFEmitter.h
Go to the documentation of this file.
1 //===--- DWARFEmitter.h - ---------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 /// \file
10 /// Common declarations for yaml2obj
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_OBJECTYAML_DWARFEMITTER_H
14 #define LLVM_OBJECTYAML_DWARFEMITTER_H
15 
16 #include "llvm/ADT/StringMap.h"
17 #include "llvm/ADT/StringRef.h"
18 #include "llvm/Support/Error.h"
19 #include "llvm/Support/Host.h"
21 #include <memory>
22 
23 namespace llvm {
24 
25 class raw_ostream;
26 
27 namespace DWARFYAML {
28 
29 struct Data;
30 struct PubSection;
31 
32 void EmitDebugAbbrev(raw_ostream &OS, const Data &DI);
33 void EmitDebugStr(raw_ostream &OS, const Data &DI);
34 
35 void EmitDebugAranges(raw_ostream &OS, const Data &DI);
36 void EmitPubSection(raw_ostream &OS, const PubSection &Sect,
37  bool IsLittleEndian);
38 void EmitDebugInfo(raw_ostream &OS, const Data &DI);
39 void EmitDebugLine(raw_ostream &OS, const Data &DI);
40 
42 EmitDebugSections(StringRef YAMLString, bool ApplyFixups = false,
43  bool IsLittleEndian = sys::IsLittleEndianHost);
45 EmitDebugSections(llvm::DWARFYAML::Data &DI, bool ApplyFixups);
46 
47 } // end namespace DWARFYAML
48 } // end namespace llvm
49 
50 #endif // LLVM_OBJECTYAML_DWARFEMITTER_H
This class represents lattice values for constants.
Definition: AllocatorList.h:24
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: CachePruning.h:23
void EmitDebugAbbrev(raw_ostream &OS, const Data &DI)
static const bool IsLittleEndianHost
Definition: Host.h:50
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:220
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:46
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:49
void EmitDebugLine(raw_ostream &OS, const Data &DI)