diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h')
-rw-r--r-- | contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h | 176 |
1 files changed, 88 insertions, 88 deletions
diff --git a/contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h b/contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h index fc933ac89f..a1a0e53f05 100644 --- a/contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h +++ b/contrib/libs/llvm12/include/llvm/ObjectYAML/ArchiveYAML.h @@ -1,88 +1,88 @@ -#pragma once - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunused-parameter" -#endif - -//===- ArchiveYAML.h - Archive YAMLIO implementation ------------*- 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 -/// This file declares classes for handling the YAML representation of archives. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OBJECTYAML_ARCHIVEYAML_H -#define LLVM_OBJECTYAML_ARCHIVEYAML_H - -#include "llvm/Support/YAMLTraits.h" -#include "llvm/ObjectYAML/YAML.h" -#include "llvm/ADT/MapVector.h" - -namespace llvm { -namespace ArchYAML { - -struct Archive { - struct Child { - struct Field { - Field() = default; - Field(StringRef Default, unsigned Length) - : DefaultValue(Default), MaxLength(Length) {} - StringRef Value; - StringRef DefaultValue; - unsigned MaxLength; - }; - - Child() { - Fields["Name"] = {"", 16}; - Fields["LastModified"] = {"0", 12}; - Fields["UID"] = {"0", 6}; - Fields["GID"] = {"0", 6}; - Fields["AccessMode"] = {"0", 8}; - Fields["Size"] = {"0", 10}; - Fields["Terminator"] = {"`\n", 2}; - } - - MapVector<StringRef, Field> Fields; - - Optional<yaml::BinaryRef> Content; - Optional<llvm::yaml::Hex8> PaddingByte; - }; - - StringRef Magic; - Optional<std::vector<Child>> Members; - Optional<yaml::BinaryRef> Content; -}; - -} // end namespace ArchYAML -} // end namespace llvm - -LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ArchYAML::Archive::Child) - -namespace llvm { -namespace yaml { - -template <> struct MappingTraits<ArchYAML::Archive> { - static void mapping(IO &IO, ArchYAML::Archive &A); - static std::string validate(IO &, ArchYAML::Archive &A); -}; - -template <> struct MappingTraits<ArchYAML::Archive::Child> { - static void mapping(IO &IO, ArchYAML::Archive::Child &C); - static std::string validate(IO &, ArchYAML::Archive::Child &C); -}; - -} // end namespace yaml -} // end namespace llvm - -#endif // LLVM_OBJECTYAML_ARCHIVEYAML_H - -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +#pragma once + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#endif + +//===- ArchiveYAML.h - Archive YAMLIO implementation ------------*- 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 +/// This file declares classes for handling the YAML representation of archives. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_OBJECTYAML_ARCHIVEYAML_H +#define LLVM_OBJECTYAML_ARCHIVEYAML_H + +#include "llvm/Support/YAMLTraits.h" +#include "llvm/ObjectYAML/YAML.h" +#include "llvm/ADT/MapVector.h" + +namespace llvm { +namespace ArchYAML { + +struct Archive { + struct Child { + struct Field { + Field() = default; + Field(StringRef Default, unsigned Length) + : DefaultValue(Default), MaxLength(Length) {} + StringRef Value; + StringRef DefaultValue; + unsigned MaxLength; + }; + + Child() { + Fields["Name"] = {"", 16}; + Fields["LastModified"] = {"0", 12}; + Fields["UID"] = {"0", 6}; + Fields["GID"] = {"0", 6}; + Fields["AccessMode"] = {"0", 8}; + Fields["Size"] = {"0", 10}; + Fields["Terminator"] = {"`\n", 2}; + } + + MapVector<StringRef, Field> Fields; + + Optional<yaml::BinaryRef> Content; + Optional<llvm::yaml::Hex8> PaddingByte; + }; + + StringRef Magic; + Optional<std::vector<Child>> Members; + Optional<yaml::BinaryRef> Content; +}; + +} // end namespace ArchYAML +} // end namespace llvm + +LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::ArchYAML::Archive::Child) + +namespace llvm { +namespace yaml { + +template <> struct MappingTraits<ArchYAML::Archive> { + static void mapping(IO &IO, ArchYAML::Archive &A); + static std::string validate(IO &, ArchYAML::Archive &A); +}; + +template <> struct MappingTraits<ArchYAML::Archive::Child> { + static void mapping(IO &IO, ArchYAML::Archive::Child &C); + static std::string validate(IO &, ArchYAML::Archive::Child &C); +}; + +} // end namespace yaml +} // end namespace llvm + +#endif // LLVM_OBJECTYAML_ARCHIVEYAML_H + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif |