1f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===--- DWARFEmitter.h - -------------------------------------------*- C++
2f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//-*-===//
3f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
4f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//                     The LLVM Compiler Infrastructure
5f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
6f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// This file is distributed under the University of Illinois Open Source
7f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// License. See LICENSE.TXT for details.
8f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
9f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===----------------------------------------------------------------------===//
10f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot/// \file
11f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot/// \brief Common declarations for yaml2obj
12f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===----------------------------------------------------------------------===//
13f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#ifndef LLVM_OBJECTYAML_DWARFEMITTER_H
14f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#define LLVM_OBJECTYAML_DWARFEMITTER_H
15f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
16f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/ADT/StringMap.h"
17f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/ADT/StringRef.h"
18f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/Support/Error.h"
19f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/Support/Host.h"
20f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/Support/MemoryBuffer.h"
21f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include <memory>
22f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include <vector>
23f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
24f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace llvm {
25f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotclass raw_ostream;
26f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
27f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace DWARFYAML {
28f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotstruct Data;
29f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotstruct PubSection;
30f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
31f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotvoid EmitDebugAbbrev(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI);
32f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotvoid EmitDebugStr(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI);
33f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
34f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotvoid EmitDebugAranges(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI);
35f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotvoid EmitPubSection(llvm::raw_ostream &OS,
36f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot                    const llvm::DWARFYAML::PubSection &Sect,
37f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot                    bool IsLittleEndian);
38f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotvoid EmitDebugInfo(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI);
39f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotvoid EmitDebugLine(llvm::raw_ostream &OS, const llvm::DWARFYAML::Data &DI);
40f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
41f3014761c955345d6e05491608e73228d014afbandroid-build-team RobotExpected<StringMap<std::unique_ptr<MemoryBuffer>>>
42f3014761c955345d6e05491608e73228d014afbandroid-build-team RobotEmitDebugSections(StringRef YAMLString,
43f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot                  bool IsLittleEndian = sys::IsLittleEndianHost);
44f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
45f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} // namespace DWARFYAML
46f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} // namespace llvm
47f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
48f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#endif
49