Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===- ObjectYAML.h ---------------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
 
9
#ifndef LLVM_OBJECTYAML_OBJECTYAML_H
10
#define LLVM_OBJECTYAML_OBJECTYAML_H
11
 
12
#include "llvm/ObjectYAML/ArchiveYAML.h"
13
#include "llvm/ObjectYAML/COFFYAML.h"
14
#include "llvm/ObjectYAML/DXContainerYAML.h"
15
#include "llvm/ObjectYAML/ELFYAML.h"
16
#include "llvm/ObjectYAML/MachOYAML.h"
17
#include "llvm/ObjectYAML/MinidumpYAML.h"
18
#include "llvm/ObjectYAML/OffloadYAML.h"
19
#include "llvm/ObjectYAML/WasmYAML.h"
20
#include "llvm/ObjectYAML/XCOFFYAML.h"
21
#include "llvm/Support/YAMLTraits.h"
22
#include <memory>
23
 
24
namespace llvm {
25
namespace yaml {
26
 
27
class IO;
28
 
29
struct YamlObjectFile {
30
  std::unique_ptr<ArchYAML::Archive> Arch;
31
  std::unique_ptr<ELFYAML::Object> Elf;
32
  std::unique_ptr<COFFYAML::Object> Coff;
33
  std::unique_ptr<MachOYAML::Object> MachO;
34
  std::unique_ptr<MachOYAML::UniversalBinary> FatMachO;
35
  std::unique_ptr<MinidumpYAML::Object> Minidump;
36
  std::unique_ptr<OffloadYAML::Binary> Offload;
37
  std::unique_ptr<WasmYAML::Object> Wasm;
38
  std::unique_ptr<XCOFFYAML::Object> Xcoff;
39
  std::unique_ptr<DXContainerYAML::Object> DXContainer;
40
};
41
 
42
template <> struct MappingTraits<YamlObjectFile> {
43
  static void mapping(IO &IO, YamlObjectFile &ObjectFile);
44
};
45
 
46
} // end namespace yaml
47
} // end namespace llvm
48
 
49
#endif // LLVM_OBJECTYAML_OBJECTYAML_H