benlangmuir added a comment. > the pcm could still be rewritten by a compilation that doesn't use a PCH, and > then it would be out of date because of the timestamp instead of the > diagnostic options
> > "a compilation that doesn't use a PCH", is that a different project? And we > have two projects building in parallel? Just to make sure I understand. Two different projects (or targets, or whatever), but they don't even have to build at the same time. They just have to share a cache. Suppose you have a project A with a PCH and -fmodules-disable-diagnostic-validation. Suppose you have another project B that does not use this flag, and does not have a PCH. With this patch, A and B can share a module cache. A builds a PCH that depends on some module X -- OK B builds with -Werror. Rebuilds X.pcm -- OK Now suppose we build A again because of some change: it can't build because X.pcm changed, but we haven't rebuilt the PCH. https://reviews.llvm.org/D22773 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits