Don't refresh stat() info for pcm files

Follow-up fix for 209138.  Actually, since we already have this file
open, we don't want to refresh the stat() info, since that might be
newer than what we have open (bad!).

llvm-svn: 209143
This commit is contained in:
Ben Langmuir
2014-05-19 17:04:28 +00:00
parent 37ba9f5d8a
commit caea13185e

View File

@@ -152,19 +152,7 @@ void ModuleManager::removeModules(ModuleIterator first, ModuleIterator last,
// Delete the modules and erase them from the various structures.
for (ModuleIterator victim = first; victim != last; ++victim) {
const FileEntry *F = (*victim)->File;
Modules.erase(F);
// Refresh the stat() information for the module file so stale information
// doesn't get stored accidentally.
vfs::Status UpdatedStat;
if (FileMgr.getNoncachedStatValue(F->getName(), UpdatedStat)) {
llvm::report_fatal_error(Twine("module file '") + F->getName() +
"' removed after it has been used");
} else {
FileMgr.modifyFileEntry(const_cast<FileEntry *>(F), UpdatedStat.getSize(),
UpdatedStat.getLastModificationTime().toEpochTime());
}
Modules.erase((*victim)->File);
if (modMap) {
StringRef ModuleName = (*victim)->ModuleName;