diff options
author | Daniel Jasper <djasper@google.com> | 2014-04-11 11:47:45 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2014-04-11 11:47:45 +0000 |
commit | 962b38e4f3b416e93161bd4cb42cd15231ed243a (patch) | |
tree | 727889d171957e9277cd6e7002b392339f31b9a1 /clang/lib/Lex/ModuleMap.cpp | |
parent | b24cf90645282a169d814c0813de27f5bdfe46a4 (diff) | |
download | bcm5719-llvm-962b38e4f3b416e93161bd4cb42cd15231ed243a.tar.gz bcm5719-llvm-962b38e4f3b416e93161bd4cb42cd15231ed243a.zip |
Add -fmodules-strict-decluse to check that all headers are in modules
Review: http://reviews.llvm.org/D3335
llvm-svn: 206027
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index f0dcc1a1492..689ef73b466 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -243,8 +243,12 @@ void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule, resolveUses(RequestingModule, /*Complain=*/false); HeadersMap::iterator Known = findKnownHeader(File); - if (Known == Headers.end()) + if (Known == Headers.end()) { + if (LangOpts.ModulesStrictDeclUse) + Diags.Report(FilenameLoc, diag::error_undeclared_use_of_module) + << RequestingModule->getFullModuleName() << Filename; return; + } Module *Private = NULL; Module *NotUsed = NULL; |