forked from OSchip/llvm-project
dbdc036858
When another clang instance builds a module, it may still be considered "out of date" for the current instance in a couple of cases*. This patch prevents us from giving spurious errors when compilers race to build a module by allowing the module load to fail when the pcm was built by a different compiler instance. * Cases where a module can be out of date despite just having been built: 1) There are different -I paths between invocations that result in finding a different module map file for some dependent module. This is not an error, and should never be diagnosed. <rdar://problem/16843887> 2) There are file system races where the headers making up a module are touched or moved. Although this can sometimes mean trouble, diagnosing it only during a build-race is worse than useless and we cannot detect this in general. It is more robust to just rebuild. This was causing spurious issues in some setups where only the modtime of headers was bumped during a build. <rdar://problem/16157638> llvm-svn: 211129 |
||
---|---|---|
.. | ||
ASTConsumers.cpp | ||
ASTMerge.cpp | ||
ASTUnit.cpp | ||
CMakeLists.txt | ||
CacheTokens.cpp | ||
ChainedDiagnosticConsumer.cpp | ||
ChainedIncludesSource.cpp | ||
CompilerInstance.cpp | ||
CompilerInvocation.cpp | ||
CreateInvocationFromCommandLine.cpp | ||
DependencyFile.cpp | ||
DependencyGraph.cpp | ||
DiagnosticRenderer.cpp | ||
FrontendAction.cpp | ||
FrontendActions.cpp | ||
FrontendOptions.cpp | ||
HeaderIncludeGen.cpp | ||
InitHeaderSearch.cpp | ||
InitPreprocessor.cpp | ||
LangStandards.cpp | ||
LayoutOverrideSource.cpp | ||
LogDiagnosticPrinter.cpp | ||
Makefile | ||
MultiplexConsumer.cpp | ||
PrintPreprocessedOutput.cpp | ||
SerializedDiagnosticPrinter.cpp | ||
TextDiagnostic.cpp | ||
TextDiagnosticBuffer.cpp | ||
TextDiagnosticPrinter.cpp | ||
VerifyDiagnosticConsumer.cpp |