aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/MemoryBufferCache.cpp
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2017-03-18 12:31:32 +0000
committerRenato Golin <renato.golin@linaro.org>2017-03-18 12:31:32 +0000
commitf1966cf6467e60c60d1c3fe6fa8b669d79ecf8e9 (patch)
treeb2ada42a7d0c7f06002a987e9e75d0c0ec4ec64f /clang/lib/Basic/MemoryBufferCache.cpp
parente6ff30b696739aca2e86484750c68dce113712a1 (diff)
downloadllvm-f1966cf6467e60c60d1c3fe6fa8b669d79ecf8e9.zip
llvm-f1966cf6467e60c60d1c3fe6fa8b669d79ecf8e9.tar.gz
llvm-f1966cf6467e60c60d1c3fe6fa8b669d79ecf8e9.tar.bz2
Revert "Modules: Cache PCMs in memory and avoid a use-after-free"
This reverts commit r298165, as it broke the ARM builds. llvm-svn: 298185
Diffstat (limited to 'clang/lib/Basic/MemoryBufferCache.cpp')
-rw-r--r--clang/lib/Basic/MemoryBufferCache.cpp48
1 files changed, 0 insertions, 48 deletions
diff --git a/clang/lib/Basic/MemoryBufferCache.cpp b/clang/lib/Basic/MemoryBufferCache.cpp
deleted file mode 100644
index c1fc571e..0000000
--- a/clang/lib/Basic/MemoryBufferCache.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//===- MemoryBufferCache.cpp - Cache for loaded memory buffers ------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Basic/MemoryBufferCache.h"
-#include "llvm/Support/MemoryBuffer.h"
-
-using namespace clang;
-
-llvm::MemoryBuffer &
-MemoryBufferCache::addBuffer(llvm::StringRef Filename,
- std::unique_ptr<llvm::MemoryBuffer> Buffer) {
- auto Insertion =
- Buffers.insert({Filename, BufferEntry{std::move(Buffer), NextIndex++}});
- assert(Insertion.second && "Already has a buffer");
- return *Insertion.first->second.Buffer;
-}
-
-llvm::MemoryBuffer *MemoryBufferCache::lookupBuffer(llvm::StringRef Filename) {
- auto I = Buffers.find(Filename);
- if (I == Buffers.end())
- return nullptr;
- return I->second.Buffer.get();
-}
-
-bool MemoryBufferCache::isBufferFinal(llvm::StringRef Filename) {
- auto I = Buffers.find(Filename);
- if (I == Buffers.end())
- return false;
- return I->second.Index < FirstRemovableIndex;
-}
-
-bool MemoryBufferCache::tryToRemoveBuffer(llvm::StringRef Filename) {
- auto I = Buffers.find(Filename);
- assert(I != Buffers.end() && "No buffer to remove...");
- if (I->second.Index < FirstRemovableIndex)
- return true;
-
- Buffers.erase(I);
- return false;
-}
-
-void MemoryBufferCache::finalizeCurrentBuffers() { FirstRemovableIndex = NextIndex; }