summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorDaniel Jasper <djasper@google.com>2014-04-11 11:47:45 +0000
committerDaniel Jasper <djasper@google.com>2014-04-11 11:47:45 +0000
commit962b38e4f3b416e93161bd4cb42cd15231ed243a (patch)
tree727889d171957e9277cd6e7002b392339f31b9a1 /clang/lib/Lex/ModuleMap.cpp
parentb24cf90645282a169d814c0813de27f5bdfe46a4 (diff)
downloadbcm5719-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.cpp6
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;
OpenPOWER on IntegriCloud