]> granicus.if.org Git - clang/commitdiff
Module: improve the diagnostic message for include of non-modular header.
authorManman Ren <manman.ren@gmail.com>
Fri, 21 Oct 2016 23:27:37 +0000 (23:27 +0000)
committerManman Ren <manman.ren@gmail.com>
Fri, 21 Oct 2016 23:27:37 +0000 (23:27 +0000)
Emit the actual path to the non-modular include.

rdar://28897010

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284897 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticLexKinds.td
lib/Lex/ModuleMap.cpp
test/Modules/incomplete-module.m

index 604d51db1ffecc4ab1d19e53de5bdc8e7d2b2b47..fa5aa0e7da15254d570aad54295a001d605a39a5 100644 (file)
@@ -659,10 +659,10 @@ def warn_use_of_private_header_outside_module : Warning<
 def err_undeclared_use_of_module : Error<
   "module %0 does not depend on a module exporting '%1'">;
 def warn_non_modular_include_in_framework_module : Warning<
-  "include of non-modular header inside framework module '%0'">,
+  "include of non-modular header inside framework module '%0': '%1'">,
   InGroup<NonModularIncludeInFrameworkModule>, DefaultIgnore;
 def warn_non_modular_include_in_module : Warning<
-  "include of non-modular header inside module '%0'">,
+  "include of non-modular header inside module '%0': '%1'">,
   InGroup<NonModularIncludeInModule>, DefaultIgnore;
 def warn_module_conflict : Warning<
   "module '%0' conflicts with already-imported module '%1': %2">, 
index 429b2cc0738e0e4c92e233352fe7cc0e5910e82e..6a261a1154857bcfb07bcc75aeb070229093e2b8 100644 (file)
@@ -303,7 +303,8 @@ void ModuleMap::diagnoseHeaderInclusion(Module *RequestingModule,
     diag::kind DiagID = RequestingModule->getTopLevelModule()->IsFramework ?
         diag::warn_non_modular_include_in_framework_module :
         diag::warn_non_modular_include_in_module;
-    Diags.Report(FilenameLoc, DiagID) << RequestingModule->getFullModuleName();
+    Diags.Report(FilenameLoc, DiagID) << RequestingModule->getFullModuleName()
+        << File->getName();
   }
 }
 
index e338a40c9ab50e4868051cd3c5af9fe9d6ce2c2a..ffb2708c6f81e6b171109cf66084a1abb040fec2 100644 (file)
@@ -2,7 +2,7 @@
 
 // RUN: rm -rf %t
 // RUN: %clang_cc1 -fmodules-cache-path=%t -Wincomplete-module -fmodules -fimplicit-module-maps -I %S/Inputs %s 2>&1 | FileCheck %s
-// CHECK: warning: include of non-modular header inside module 'incomplete_mod'
+// CHECK: warning: include of non-modular header inside module 'incomplete_mod': {{'.*incomplete_mod_missing.h'}}
 
 // RUN: rm -rf %t
 // RUN: not %clang_cc1 -fmodules-cache-path=%t -fmodules-strict-decluse -fmodules -fimplicit-module-maps -I %S/Inputs %s 2>&1 | FileCheck %s -check-prefix=DECLUSE