1 //===--- 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
10 /// \brief Common declarations for yaml2obj
11 //===----------------------------------------------------------------------===//
12 #ifndef LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
13 #define LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
14 
15 namespace llvm {
16 class raw_ostream;
17 
18 namespace COFFYAML {
19 struct Object;
20 }
21 
22 namespace ELFYAML {
23 struct Object;
24 }
25 
26 namespace yaml {
27 class Input;
28 struct YamlObjectFile;
29 }
30 }
31 
32 int yaml2coff(llvm::COFFYAML::Object &Doc, llvm::raw_ostream &Out);
33 int yaml2elf(llvm::ELFYAML::Object &Doc, llvm::raw_ostream &Out);
34 int yaml2macho(llvm::yaml::YamlObjectFile &Doc, llvm::raw_ostream &Out);
35 
36 #endif
37