mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
e458651b94
Reviewers: jhenderson, rupprecht, MaskRay, grimar, labath Reviewed By: rupprecht Subscribers: gribozavr, mgrang, seiya, mgorny, sbc100, hiraditya, aheejin, jakehehrlich, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65255 llvm-svn: 368119
63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
//===--- yaml2obj.h - -------------------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
/// \file
|
|
/// Common declarations for yaml2obj
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
|
|
#define LLVM_TOOLS_YAML2OBJ_YAML2OBJ_H
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/Support/Error.h"
|
|
#include <memory>
|
|
|
|
namespace llvm {
|
|
class raw_ostream;
|
|
template <typename T> class SmallVectorImpl;
|
|
template <typename T> class Expected;
|
|
|
|
namespace object {
|
|
class ObjectFile;
|
|
}
|
|
|
|
namespace COFFYAML {
|
|
struct Object;
|
|
}
|
|
|
|
namespace ELFYAML {
|
|
struct Object;
|
|
}
|
|
|
|
namespace MinidumpYAML {
|
|
struct Object;
|
|
}
|
|
|
|
namespace WasmYAML {
|
|
struct Object;
|
|
}
|
|
|
|
namespace yaml {
|
|
class Input;
|
|
struct YamlObjectFile;
|
|
|
|
int yaml2coff(COFFYAML::Object &Doc, raw_ostream &Out);
|
|
int yaml2elf(ELFYAML::Object &Doc, raw_ostream &Out);
|
|
int yaml2macho(YamlObjectFile &Doc, raw_ostream &Out);
|
|
int yaml2minidump(MinidumpYAML::Object &Doc, raw_ostream &Out);
|
|
int yaml2wasm(WasmYAML::Object &Doc, raw_ostream &Out);
|
|
|
|
Error convertYAML(Input &YIn, raw_ostream &Out, unsigned DocNum = 1);
|
|
|
|
/// Convenience function for tests.
|
|
Expected<std::unique_ptr<object::ObjectFile>>
|
|
yaml2ObjectFile(SmallVectorImpl<char> &Storage, StringRef Yaml);
|
|
|
|
} // namespace yaml
|
|
} // namespace llvm
|
|
|
|
#endif
|