]> granicus.if.org Git - clang/commit
Recover better from an incompatible .pcm file being provided by -fmodule-file=.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 2 Dec 2016 01:52:28 +0000 (01:52 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 2 Dec 2016 01:52:28 +0000 (01:52 +0000)
commit097fe2bd380e4fd6345635ed5a89a58b7869ede0
treedb6d48dd905319d4b2fc42e6d0b9b955a32b9af4
parentad22c750d0dfa1a0fcdec84aaac3396a9a5a002a
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288449 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Lex/ModuleLoader.h
lib/Frontend/CompilerInstance.cpp
lib/Lex/PPDirectives.cpp
test/Modules/config-mismatch.cpp [new file with mode: 0644]