mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
1f183c5130
Summary: Our YAML library's handling of tags isn't perfect, but it is good enough to get rid of the need for the --format argument to yaml2obj. This patch does exactly that. Instead of requiring --format, it infers the format based on the tags found in the object file. The supported tags are: !ELF !COFF !mach-o !fat-mach-o I have a corresponding patch that is quite large that fixes up all the in-tree test cases. Reviewers: rafael, Bigcheese, compnerd, silvas Subscribers: compnerd, llvm-commits Differential Revision: http://reviews.llvm.org/D21711 llvm-svn: 273915
37 lines
942 B
C++
37 lines
942 B
C++
//===--- yaml2obj.h - -------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
/// \file
|
|
/// \brief Common declarations for yaml2obj
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
|
|
#define LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
|
|
|
|
namespace llvm {
|
|
class raw_ostream;
|
|
|
|
namespace COFFYAML {
|
|
struct Object;
|
|
}
|
|
|
|
namespace ELFYAML {
|
|
struct Object;
|
|
}
|
|
|
|
namespace yaml {
|
|
class Input;
|
|
struct YamlObjectFile;
|
|
}
|
|
}
|
|
|
|
int yaml2coff(llvm::COFFYAML::Object &Doc, llvm::raw_ostream &Out);
|
|
int yaml2elf(llvm::ELFYAML::Object &Doc, llvm::raw_ostream &Out);
|
|
int yaml2macho(llvm::yaml::YamlObjectFile &Doc, llvm::raw_ostream &Out);
|
|
|
|
#endif
|