1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #pragma once
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- //===--- 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_OBJECTYAML_YAML2OBJ_H
- #define LLVM_OBJECTYAML_YAML2OBJ_H
- #include "llvm/ADT/STLExtras.h"
- #include <memory>
- namespace llvm {
- class raw_ostream;
- template <typename T> class SmallVectorImpl;
- class StringRef;
- class Twine;
- namespace object {
- class ObjectFile;
- }
- namespace COFFYAML {
- struct Object;
- }
- namespace ELFYAML {
- struct Object;
- }
- namespace MinidumpYAML {
- struct Object;
- }
- namespace WasmYAML {
- struct Object;
- }
- namespace XCOFFYAML {
- struct Object;
- }
- namespace ArchYAML {
- struct Archive;
- }
- namespace yaml {
- class Input;
- struct YamlObjectFile;
- using ErrorHandler = llvm::function_ref<void(const Twine &Msg)>;
- bool yaml2archive(ArchYAML::Archive &Doc, raw_ostream &Out, ErrorHandler EH);
- bool yaml2coff(COFFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH);
- bool yaml2elf(ELFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH,
- uint64_t MaxSize);
- bool yaml2macho(YamlObjectFile &Doc, raw_ostream &Out, ErrorHandler EH);
- bool yaml2minidump(MinidumpYAML::Object &Doc, raw_ostream &Out,
- ErrorHandler EH);
- bool yaml2wasm(WasmYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH);
- bool yaml2xcoff(XCOFFYAML::Object &Doc, raw_ostream &Out, ErrorHandler EH);
- bool convertYAML(Input &YIn, raw_ostream &Out, ErrorHandler ErrHandler,
- unsigned DocNum = 1, uint64_t MaxSize = UINT64_MAX);
- /// Convenience function for tests.
- std::unique_ptr<object::ObjectFile>
- yaml2ObjectFile(SmallVectorImpl<char> &Storage, StringRef Yaml,
- ErrorHandler ErrHandler);
- } // namespace yaml
- } // namespace llvm
- #endif
- #ifdef __GNUC__
- #pragma GCC diagnostic pop
- #endif
|