[PATCH] D66907: [Modules] Fix rebuilding an updated module for each of its consumers.
Duncan P. N. Exon Smith via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 28 15:54:51 PDT 2019
dexonsmith accepted this revision.
dexonsmith added a comment.
This revision is now accepted and ready to land.
This LGTM.
The key insight you're making is that when you're importing B into A and B's signature doesn't match what A expects, that does not mean that B is out-of-date. B may have just been built and be totally correct. It only means that A is out-of-date. I had considered removing this call, but was confused about exactly what this would mean.
================
Comment at: clang/lib/Serialization/ModuleManager.cpp:211
- if (!getModuleCache().tryToDropPCM(NewModule->FileName))
- FileMgr.invalidateCache(NewModule->File);
return OutOfDate;
----------------
This is the only caller of FileManager::invalidateCache. I suggest deleting it in a follow-up, in order to reduce complexity in the FileManager.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66907/new/
https://reviews.llvm.org/D66907
More information about the cfe-commits
mailing list