mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
92e836cfd2
Mostly this change adds support converting to and from YAML which will allow us to write more test cases for the WebAssembly MC and lld ports. Better support for objdump, readelf, and nm will be in followup CLs. I had to update the two wasm test binaries because they used the old style 'name' section which is no longer supported. Differential Revision: https://reviews.llvm.org/D31099 Patch by Sam Clegg llvm-svn: 299101
38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
//===- ObjectYAML.h ---------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_OBJECTYAML_OBJECTYAML_H
|
|
#define LLVM_OBJECTYAML_OBJECTYAML_H
|
|
|
|
#include "llvm/ObjectYAML/COFFYAML.h"
|
|
#include "llvm/ObjectYAML/ELFYAML.h"
|
|
#include "llvm/ObjectYAML/MachOYAML.h"
|
|
#include "llvm/ObjectYAML/WasmYAML.h"
|
|
#include "llvm/Support/YAMLTraits.h"
|
|
|
|
namespace llvm {
|
|
namespace yaml {
|
|
|
|
struct YamlObjectFile {
|
|
std::unique_ptr<ELFYAML::Object> Elf;
|
|
std::unique_ptr<COFFYAML::Object> Coff;
|
|
std::unique_ptr<MachOYAML::Object> MachO;
|
|
std::unique_ptr<MachOYAML::UniversalBinary> FatMachO;
|
|
std::unique_ptr<WasmYAML::Object> Wasm;
|
|
};
|
|
|
|
template <> struct MappingTraits<YamlObjectFile> {
|
|
static void mapping(IO &IO, YamlObjectFile &ObjectFile);
|
|
};
|
|
|
|
} // namespace yaml
|
|
} // namespace llvm
|
|
|
|
#endif
|