mirror of https://github.com/microsoft/clang.git
Module: improve the diagnostic message for include of non-modular header.
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
This commit is contained in:
parent
58d59d4b68
commit
c2d70a3098
|
@ -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">,
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue