diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
| commit | 0b57cec536236d46e3dba9bd041533462f33dbb7 (patch) | |
| tree | 56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp | |
| parent | 718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp')
| -rw-r--r-- | contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp b/contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp deleted file mode 100644 index 54ba8cc31267..000000000000 --- a/contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp +++ /dev/null @@ -1,81 +0,0 @@ -//===- InterfaceFile.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 Interface File. -// -//===----------------------------------------------------------------------===// - -#include "llvm/TextAPI/MachO/InterfaceFile.h" -#include <iomanip> -#include <sstream> - -namespace llvm { -namespace MachO { -namespace detail { -template <typename C> -typename C::iterator addEntry(C &Container, StringRef InstallName) { - auto I = partition_point(Container, [=](const InterfaceFileRef &O) { - return O.getInstallName() < InstallName; - }); - if (I != Container.end() && I->getInstallName() == InstallName) - return I; - - return Container.emplace(I, InstallName); -} -} // end namespace detail. - -void InterfaceFile::addAllowableClient(StringRef Name, - ArchitectureSet Architectures) { - auto Client = detail::addEntry(AllowableClients, Name); - Client->addArchitectures(Architectures); -} - -void InterfaceFile::addReexportedLibrary(StringRef InstallName, - ArchitectureSet Architectures) { - auto Lib = detail::addEntry(ReexportedLibraries, InstallName); - Lib->addArchitectures(Architectures); -} - -void InterfaceFile::addUUID(Architecture Arch, StringRef UUID) { - auto I = partition_point(UUIDs, - [=](const std::pair<Architecture, std::string> &O) { - return O.first < Arch; - }); - - if (I != UUIDs.end() && Arch == I->first) { - I->second = UUID; - return; - } - - UUIDs.emplace(I, Arch, UUID); - return; -} - -void InterfaceFile::addUUID(Architecture Arch, uint8_t UUID[16]) { - std::stringstream Stream; - for (unsigned i = 0; i < 16; ++i) { - if (i == 4 || i == 6 || i == 8 || i == 10) - Stream << '-'; - Stream << std::setfill('0') << std::setw(2) << std::uppercase << std::hex - << static_cast<int>(UUID[i]); - } - addUUID(Arch, Stream.str()); -} - -void InterfaceFile::addSymbol(SymbolKind Kind, StringRef Name, - ArchitectureSet Archs, SymbolFlags Flags) { - Name = copyString(Name); - auto result = Symbols.try_emplace(SymbolsMapKey{Kind, Name}, nullptr); - if (result.second) - result.first->second = new (Allocator) Symbol{Kind, Name, Archs, Flags}; - else - result.first->second->addArchitectures(Archs); -} - -} // end namespace MachO. -} // end namespace llvm. |
