blob: 40ed9e7782db27501d558afdd88aa4899ef91659 [file] [log] [blame]
Sean Silva3b76e402013-06-05 19:56:47 +00001//===--- yaml2obj.h - -------------------------------------------*- C++ -*-===//
2//
Chandler Carruth2946cd72019-01-19 08:50:56 +00003// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Sean Silva3b76e402013-06-05 19:56:47 +00006//
7//===----------------------------------------------------------------------===//
8/// \file
Adrian Prantl5f8f34e42018-05-01 15:54:18 +00009/// Common declarations for yaml2obj
Sean Silva3b76e402013-06-05 19:56:47 +000010//===----------------------------------------------------------------------===//
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000011#ifndef LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
12#define LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
Sean Silva3b76e402013-06-05 19:56:47 +000013
14namespace llvm {
Simon Atanasyanf97af8a2014-05-31 04:51:07 +000015class raw_ostream;
Chris Bieneman8ff0c112016-06-27 19:53:53 +000016
17namespace COFFYAML {
18struct Object;
19}
20
21namespace ELFYAML {
22struct Object;
23}
24
Derek Schuffd3d84fd2017-03-30 19:44:09 +000025namespace WasmYAML {
26struct Object;
27}
28
Simon Atanasyanf97af8a2014-05-31 04:51:07 +000029namespace yaml {
30class Input;
Chris Bieneman8ff0c112016-06-27 19:53:53 +000031struct YamlObjectFile;
Sean Silva3b76e402013-06-05 19:56:47 +000032}
Simon Atanasyanf97af8a2014-05-31 04:51:07 +000033}
Chris Bieneman8ff0c112016-06-27 19:53:53 +000034
35int yaml2coff(llvm::COFFYAML::Object &Doc, llvm::raw_ostream &Out);
36int yaml2elf(llvm::ELFYAML::Object &Doc, llvm::raw_ostream &Out);
37int yaml2macho(llvm::yaml::YamlObjectFile &Doc, llvm::raw_ostream &Out);
Derek Schuffd3d84fd2017-03-30 19:44:09 +000038int yaml2wasm(llvm::WasmYAML::Object &Doc, llvm::raw_ostream &Out);
Sean Silva3b76e402013-06-05 19:56:47 +000039
Sean Silva3b76e402013-06-05 19:56:47 +000040#endif