[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