[modules] When explicitly importing a module, it's fine for the imported module
to be newer than we were expecting. That happens if .pcm's get moved between file systems during a distributed build. (It's still not OK for them to actually be different, though, so we still check the size and signature matches.) llvm-svn: 222507
This commit is contained in:
@@ -67,6 +67,13 @@ ModuleManager::addModule(StringRef FileName, ModuleKind Type,
|
||||
// Look for the file entry. This only fails if the expected size or
|
||||
// modification time differ.
|
||||
const FileEntry *Entry;
|
||||
if (Type == MK_ExplicitModule) {
|
||||
// If we're not expecting to pull this file out of the module cache, it
|
||||
// might have a different mtime due to being moved across filesystems in
|
||||
// a distributed build. The size must still match, though. (As must the
|
||||
// contents, but we can't check that.)
|
||||
ExpectedModTime = 0;
|
||||
}
|
||||
if (lookupModuleFile(FileName, ExpectedSize, ExpectedModTime, Entry)) {
|
||||
ErrorStr = "module file out of date";
|
||||
return OutOfDate;
|
||||
|
||||
Reference in New Issue
Block a user