diff options
author | Douglas Gregor <dgregor@apple.com> | 2013-02-08 21:27:45 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2013-02-08 21:27:45 +0000 |
commit | ea14a8799f2a6d139491483151cee4341ef1a73e (patch) | |
tree | 1299f45bc2c952230c21ee9d09c1d535236c9383 /lib/Serialization/ModuleManager.cpp | |
parent | 52635ff9fb530dfdfc6a94e52a2270bf1bb8346b (diff) |
Never cache the result of a module file lookup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174744 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization/ModuleManager.cpp')
-rw-r--r-- | lib/Serialization/ModuleManager.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Serialization/ModuleManager.cpp b/lib/Serialization/ModuleManager.cpp index bc9917b582..b9f4d888f3 100644 --- a/lib/Serialization/ModuleManager.cpp +++ b/lib/Serialization/ModuleManager.cpp @@ -25,12 +25,14 @@ using namespace clang; using namespace serialization; ModuleFile *ModuleManager::lookup(StringRef Name) { - const FileEntry *Entry = FileMgr.getFile(Name); + const FileEntry *Entry = FileMgr.getFile(Name, /*openFile=*/false, + /*cacheFailure=*/false); return Modules[Entry]; } llvm::MemoryBuffer *ModuleManager::lookupBuffer(StringRef Name) { - const FileEntry *Entry = FileMgr.getFile(Name); + const FileEntry *Entry = FileMgr.getFile(Name, /*openFile=*/false, + /*cacheFailure=*/false); return InMemoryBuffers[Entry]; } @@ -38,7 +40,8 @@ std::pair<ModuleFile *, bool> ModuleManager::addModule(StringRef FileName, ModuleKind Type, SourceLocation ImportLoc, ModuleFile *ImportedBy, unsigned Generation, std::string &ErrorStr) { - const FileEntry *Entry = FileMgr.getFile(FileName); + const FileEntry *Entry = FileMgr.getFile(FileName, /*openFile=*/false, + /*cacheFailure=*/false); if (!Entry && FileName != "-") { ErrorStr = "file not found"; return std::make_pair(static_cast<ModuleFile*>(0), false); |