summaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-12-20 19:53:05 +0000
commit0b57cec536236d46e3dba9bd041533462f33dbb7 (patch)
tree56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp
parent718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff)
Notes
Diffstat (limited to 'contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp')
-rw-r--r--contrib/llvm/lib/TextAPI/MachO/InterfaceFile.cpp81
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.