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