Revert r288626, which reverts r288449. Original commit message:
authorRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 6 Dec 2016 00:40:17 +0000 (00:40 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 6 Dec 2016 00:40:17 +0000 (00:40 +0000)
commita114c46e8735254e73c6177045fff26b37a77c93
tree8e53b358fa17c686ec2b0c80d81d6bf48fe43f09
parent5165a741a26c6a62d8ac50c503281ceb31301f23
Revert r288626, which reverts r288449. Original commit message:

Recover better from an incompatible .pcm file being provided by -fmodule-file=. We try to include the headers of the module textually in this case, still enforcing the modules semantic rules. In order to make that work, we need to still track that we're entering and leaving the module. Also, if the module was also marked as unavailable (perhaps because it was missing a file), we shouldn't mark the module unavailable -- we don't need the module to be complete if we're going to enter it textually.

llvm-svn: 288741
clang/include/clang/Lex/ModuleLoader.h
clang/lib/Frontend/CompilerInstance.cpp
clang/lib/Lex/PPDirectives.cpp
clang/test/Modules/config-mismatch.cpp [new file with mode: 0644]