blob: fc784067a9f0506ff8ff941b8954e6bdbddd38db [file] [log] [blame]
Sean Silva3b76e402013-06-05 19:56:47 +00001//===--- yaml2obj.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
Adrian Prantl5f8f34e42018-05-01 15:54:18 +000010/// Common declarations for yaml2obj
Sean Silva3b76e402013-06-05 19:56:47 +000011//===----------------------------------------------------------------------===//
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000012#ifndef LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
13#define LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
Sean Silva3b76e402013-06-05 19:56:47 +000014
15namespace llvm {
Simon Atanasyanf97af8a2014-05-31 04:51:07 +000016class raw_ostream;
Chris Bieneman8ff0c112016-06-27 19:53:53 +000017
18namespace COFFYAML {
19struct Object;
20}
21
22namespace ELFYAML {
23struct Object;
24}
25
Derek Schuffd3d84fd2017-03-30 19:44:09 +000026namespace WasmYAML {
27struct Object;
28}
29
Simon Atanasyanf97af8a2014-05-31 04:51:07 +000030namespace yaml {
31class Input;
Chris Bieneman8ff0c112016-06-27 19:53:53 +000032struct YamlObjectFile;
Sean Silva3b76e402013-06-05 19:56:47 +000033}
Simon Atanasyanf97af8a2014-05-31 04:51:07 +000034}
Chris Bieneman8ff0c112016-06-27 19:53:53 +000035
36int yaml2coff(llvm::COFFYAML::Object &Doc, llvm::raw_ostream &Out);
37int yaml2elf(llvm::ELFYAML::Object &Doc, llvm::raw_ostream &Out);
38int yaml2macho(llvm::yaml::YamlObjectFile &Doc, llvm::raw_ostream &Out);
Derek Schuffd3d84fd2017-03-30 19:44:09 +000039int yaml2wasm(llvm::WasmYAML::Object &Doc, llvm::raw_ostream &Out);
Sean Silva3b76e402013-06-05 19:56:47 +000040
Sean Silva3b76e402013-06-05 19:56:47 +000041#endif