From dadd85dc0c84e183f6c2fc1af86a5c77c3feb3db Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 8 Feb 2013 21:27:45 +0000 Subject: Never cache the result of a module file lookup. llvm-svn: 174744 --- clang/lib/Serialization/ModuleManager.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'clang/lib/Serialization/ModuleManager.cpp') diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index bc9917b5822..b9f4d888f30 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/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 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(0), false); -- cgit v1.2.3