diff options
| author | robot-piglet <[email protected]> | 2025-03-05 13:38:11 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-03-05 13:49:53 +0300 |
| commit | 9eed360f02de773a5ed2de5d2a3e81fc7f06acfa (patch) | |
| tree | 744a4054e64eb443073c7c6ad36b29cedcf9c2e6 /contrib/libs/llvm14/lib/TextAPI/PackedVersion.cpp | |
| parent | c141a5c40bda2eed1a68b0626ffdae5fd19359a6 (diff) | |
Intermediate changes
commit_hash:2ec2671384dd8e604d41bc5c52c2f7858e4afea6
Diffstat (limited to 'contrib/libs/llvm14/lib/TextAPI/PackedVersion.cpp')
| -rw-r--r-- | contrib/libs/llvm14/lib/TextAPI/PackedVersion.cpp | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/contrib/libs/llvm14/lib/TextAPI/PackedVersion.cpp b/contrib/libs/llvm14/lib/TextAPI/PackedVersion.cpp deleted file mode 100644 index 67fb30aeb12..00000000000 --- a/contrib/libs/llvm14/lib/TextAPI/PackedVersion.cpp +++ /dev/null @@ -1,112 +0,0 @@ -//===- PackedVersion.cpp --------------------------------------------------===// -// -// 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 -// -//===----------------------------------------------------------------------===// -// -// Implements the Mach-O packed version. -// -//===----------------------------------------------------------------------===// - -#include "llvm/TextAPI/PackedVersion.h" -#include "llvm/ADT/SmallVector.h" -#include "llvm/ADT/StringExtras.h" -#include "llvm/Support/Format.h" -#include "llvm/Support/raw_ostream.h" - -namespace llvm { -namespace MachO { - -bool PackedVersion::parse32(StringRef Str) { - Version = 0; - - if (Str.empty()) - return false; - - SmallVector<StringRef, 3> Parts; - SplitString(Str, Parts, "."); - - if (Parts.size() > 3) - return false; - - unsigned long long Num; - if (getAsUnsignedInteger(Parts[0], 10, Num)) - return false; - - if (Num > UINT16_MAX) - return false; - - Version = Num << 16; - - for (unsigned i = 1, ShiftNum = 8; i < Parts.size(); ++i, ShiftNum -= 8) { - if (getAsUnsignedInteger(Parts[i], 10, Num)) - return false; - - if (Num > UINT8_MAX) - return false; - - Version |= (Num << ShiftNum); - } - - return true; -} - -std::pair<bool, bool> PackedVersion::parse64(StringRef Str) { - bool Truncated = false; - Version = 0; - - if (Str.empty()) - return std::make_pair(false, Truncated); - - SmallVector<StringRef, 5> Parts; - SplitString(Str, Parts, "."); - - if (Parts.size() > 5) - return std::make_pair(false, Truncated); - - unsigned long long Num; - if (getAsUnsignedInteger(Parts[0], 10, Num)) - return std::make_pair(false, Truncated); - - if (Num > 0xFFFFFFULL) - return std::make_pair(false, Truncated); - - if (Num > 0xFFFFULL) { - Num = 0xFFFFULL; - Truncated = true; - } - Version = Num << 16; - - for (unsigned i = 1, ShiftNum = 8; i < Parts.size() && i < 3; - ++i, ShiftNum -= 8) { - if (getAsUnsignedInteger(Parts[i], 10, Num)) - return std::make_pair(false, Truncated); - - if (Num > 0x3FFULL) - return std::make_pair(false, Truncated); - - if (Num > 0xFFULL) { - Num = 0xFFULL; - Truncated = true; - } - Version |= (Num << ShiftNum); - } - - if (Parts.size() > 3) - Truncated = true; - - return std::make_pair(true, Truncated); -} - -void PackedVersion::print(raw_ostream &OS) const { - OS << format("%d", getMajor()); - if (getMinor() || getSubminor()) - OS << format(".%d", getMinor()); - if (getSubminor()) - OS << format(".%d", getSubminor()); -} - -} // end namespace MachO. -} // end namespace llvm. |
