From: Rafael Espindola Date: Fri, 31 May 2013 20:38:27 +0000 (+0000) Subject: Rename COFFYaml.h to COFFYAML.h for consistency. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=06120815a252676ea8abfddf4f80f549ef9a9f06;p=oota-llvm.git Rename COFFYaml.h to COFFYAML.h for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183042 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Object/COFFYAML.h b/include/llvm/Object/COFFYAML.h new file mode 100644 index 00000000000..25c4601a972 --- /dev/null +++ b/include/llvm/Object/COFFYAML.h @@ -0,0 +1,164 @@ +//===- COFFYAML.h - COFF YAMLIO implementation ------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file declares classes for handling the YAML representation of COFF. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_OBJECT_COFFYAML_H +#define LLVM_OBJECT_COFFYAML_H + + +#include "llvm/Support/COFF.h" +#include "llvm/Support/YAMLTraits.h" + +namespace llvm { + +namespace COFF { +inline Characteristics operator|(Characteristics a, Characteristics b) { + uint32_t Ret = static_cast(a) | static_cast(b); + return static_cast(Ret); +} + +inline SectionCharacteristics operator|(SectionCharacteristics a, + SectionCharacteristics b) { + uint32_t Ret = static_cast(a) | static_cast(b); + return static_cast(Ret); +} +} + +// The structure of the yaml files is not an exact 1:1 match to COFF. In order +// to use yaml::IO, we use these structures which are closer to the source. +namespace COFFYAML { + /// In an object file this is just a binary blob. In an yaml file it is an hex + /// string. Using this avoid having to allocate temporary strings. + /// FIXME: not COFF specific. + class BinaryRef { + ArrayRef BinaryData; + StringRef HexData; + bool isBinary; + public: + BinaryRef(ArrayRef BinaryData) + : BinaryData(BinaryData), isBinary(true) {} + BinaryRef(StringRef HexData) : HexData(HexData), isBinary(false) {} + BinaryRef() : isBinary(false) {} + StringRef getHex() const { + assert(!isBinary); + return HexData; + } + ArrayRef getBinary() const { + assert(isBinary); + return BinaryData; + } + }; + + struct Section { + COFF::section Header; + unsigned Alignment; + BinaryRef SectionData; + std::vector Relocations; + StringRef Name; + Section(); + }; + + struct Symbol { + COFF::symbol Header; + COFF::SymbolBaseType SimpleType; + COFF::SymbolComplexType ComplexType; + BinaryRef AuxiliaryData; + StringRef Name; + Symbol(); + }; + + struct Object { + COFF::header Header; + std::vector
Sections; + std::vector Symbols; + Object(); + }; +} +} + +LLVM_YAML_IS_SEQUENCE_VECTOR(COFFYAML::Section) +LLVM_YAML_IS_SEQUENCE_VECTOR(COFFYAML::Symbol) +LLVM_YAML_IS_SEQUENCE_VECTOR(COFF::relocation) + +namespace llvm { +namespace yaml { + +template<> +struct ScalarTraits { + static void output(const COFFYAML::BinaryRef &, void*, llvm::raw_ostream &); + static StringRef input(StringRef, void*, COFFYAML::BinaryRef &); +}; + +template <> +struct ScalarEnumerationTraits { + static void enumeration(IO &IO, COFF::MachineTypes &Value); +}; + +template <> +struct ScalarEnumerationTraits { + static void enumeration(IO &IO, COFF::SymbolBaseType &Value); +}; + +template <> +struct ScalarEnumerationTraits { + static void enumeration(IO &IO, COFF::SymbolStorageClass &Value); +}; + +template <> +struct ScalarEnumerationTraits { + static void enumeration(IO &IO, COFF::SymbolComplexType &Value); +}; + +template <> +struct ScalarEnumerationTraits { + static void enumeration(IO &IO, COFF::RelocationTypeX86 &Value); +}; + +template <> +struct ScalarBitSetTraits { + static void bitset(IO &IO, COFF::Characteristics &Value); +}; + +template <> +struct ScalarBitSetTraits { + static void bitset(IO &IO, COFF::SectionCharacteristics &Value); +}; + +template <> +struct MappingTraits { + static void mapping(IO &IO, COFF::relocation &Rel); +}; + +template <> +struct MappingTraits { + static void mapping(IO &IO, COFF::header &H); +}; + +template <> +struct MappingTraits { + static void mapping(IO &IO, COFFYAML::Symbol &S); +}; + +template <> +struct MappingTraits { + static void mapping(IO &IO, COFFYAML::Section &Sec); +}; + +template <> +struct MappingTraits { + static void mapping(IO &IO, COFFYAML::Object &Obj); +}; + +} // end namespace yaml +} // end namespace llvm + +#endif diff --git a/include/llvm/Object/COFFYaml.h b/include/llvm/Object/COFFYaml.h deleted file mode 100644 index 25c4601a972..00000000000 --- a/include/llvm/Object/COFFYaml.h +++ /dev/null @@ -1,164 +0,0 @@ -//===- COFFYAML.h - COFF YAMLIO implementation ------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file declares classes for handling the YAML representation of COFF. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OBJECT_COFFYAML_H -#define LLVM_OBJECT_COFFYAML_H - - -#include "llvm/Support/COFF.h" -#include "llvm/Support/YAMLTraits.h" - -namespace llvm { - -namespace COFF { -inline Characteristics operator|(Characteristics a, Characteristics b) { - uint32_t Ret = static_cast(a) | static_cast(b); - return static_cast(Ret); -} - -inline SectionCharacteristics operator|(SectionCharacteristics a, - SectionCharacteristics b) { - uint32_t Ret = static_cast(a) | static_cast(b); - return static_cast(Ret); -} -} - -// The structure of the yaml files is not an exact 1:1 match to COFF. In order -// to use yaml::IO, we use these structures which are closer to the source. -namespace COFFYAML { - /// In an object file this is just a binary blob. In an yaml file it is an hex - /// string. Using this avoid having to allocate temporary strings. - /// FIXME: not COFF specific. - class BinaryRef { - ArrayRef BinaryData; - StringRef HexData; - bool isBinary; - public: - BinaryRef(ArrayRef BinaryData) - : BinaryData(BinaryData), isBinary(true) {} - BinaryRef(StringRef HexData) : HexData(HexData), isBinary(false) {} - BinaryRef() : isBinary(false) {} - StringRef getHex() const { - assert(!isBinary); - return HexData; - } - ArrayRef getBinary() const { - assert(isBinary); - return BinaryData; - } - }; - - struct Section { - COFF::section Header; - unsigned Alignment; - BinaryRef SectionData; - std::vector Relocations; - StringRef Name; - Section(); - }; - - struct Symbol { - COFF::symbol Header; - COFF::SymbolBaseType SimpleType; - COFF::SymbolComplexType ComplexType; - BinaryRef AuxiliaryData; - StringRef Name; - Symbol(); - }; - - struct Object { - COFF::header Header; - std::vector
Sections; - std::vector Symbols; - Object(); - }; -} -} - -LLVM_YAML_IS_SEQUENCE_VECTOR(COFFYAML::Section) -LLVM_YAML_IS_SEQUENCE_VECTOR(COFFYAML::Symbol) -LLVM_YAML_IS_SEQUENCE_VECTOR(COFF::relocation) - -namespace llvm { -namespace yaml { - -template<> -struct ScalarTraits { - static void output(const COFFYAML::BinaryRef &, void*, llvm::raw_ostream &); - static StringRef input(StringRef, void*, COFFYAML::BinaryRef &); -}; - -template <> -struct ScalarEnumerationTraits { - static void enumeration(IO &IO, COFF::MachineTypes &Value); -}; - -template <> -struct ScalarEnumerationTraits { - static void enumeration(IO &IO, COFF::SymbolBaseType &Value); -}; - -template <> -struct ScalarEnumerationTraits { - static void enumeration(IO &IO, COFF::SymbolStorageClass &Value); -}; - -template <> -struct ScalarEnumerationTraits { - static void enumeration(IO &IO, COFF::SymbolComplexType &Value); -}; - -template <> -struct ScalarEnumerationTraits { - static void enumeration(IO &IO, COFF::RelocationTypeX86 &Value); -}; - -template <> -struct ScalarBitSetTraits { - static void bitset(IO &IO, COFF::Characteristics &Value); -}; - -template <> -struct ScalarBitSetTraits { - static void bitset(IO &IO, COFF::SectionCharacteristics &Value); -}; - -template <> -struct MappingTraits { - static void mapping(IO &IO, COFF::relocation &Rel); -}; - -template <> -struct MappingTraits { - static void mapping(IO &IO, COFF::header &H); -}; - -template <> -struct MappingTraits { - static void mapping(IO &IO, COFFYAML::Symbol &S); -}; - -template <> -struct MappingTraits { - static void mapping(IO &IO, COFFYAML::Section &Sec); -}; - -template <> -struct MappingTraits { - static void mapping(IO &IO, COFFYAML::Object &Obj); -}; - -} // end namespace yaml -} // end namespace llvm - -#endif diff --git a/lib/Object/COFFYAML.cpp b/lib/Object/COFFYAML.cpp index 0ece09f460b..f3883afede4 100644 --- a/lib/Object/COFFYAML.cpp +++ b/lib/Object/COFFYAML.cpp @@ -11,7 +11,7 @@ // //===----------------------------------------------------------------------===// -#include "llvm/Object/COFFYaml.h" +#include "llvm/Object/COFFYAML.h" #define ECase(X) IO.enumCase(Value, #X, COFF::X); namespace llvm { diff --git a/tools/obj2yaml/coff2yaml.cpp b/tools/obj2yaml/coff2yaml.cpp index b41edc1e8a0..d1c4d01b68d 100644 --- a/tools/obj2yaml/coff2yaml.cpp +++ b/tools/obj2yaml/coff2yaml.cpp @@ -9,7 +9,7 @@ #include "obj2yaml.h" #include "llvm/Object/COFF.h" -#include "llvm/Object/COFFYaml.h" +#include "llvm/Object/COFFYAML.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/YAMLTraits.h" diff --git a/tools/yaml2obj/yaml2obj.cpp b/tools/yaml2obj/yaml2obj.cpp index 0c285c2fd8c..ac3e4ca062a 100644 --- a/tools/yaml2obj/yaml2obj.cpp +++ b/tools/yaml2obj/yaml2obj.cpp @@ -18,7 +18,7 @@ #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringMap.h" #include "llvm/ADT/StringSwitch.h" -#include "llvm/Object/COFFYaml.h" +#include "llvm/Object/COFFYAML.h" #include "llvm/Support/Casting.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Endian.h"