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