<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On May 8, 2014, at 1:20 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, May 8, 2014 at 11:09 AM, Ben Langmuir <span dir="ltr"><<a href="mailto:blangmuir@apple.com" target="_blank">blangmuir@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: benlangmuir<br>
Date: Thu May  8 13:09:29 2014<br>
New Revision: 208345<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=208345&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=208345&view=rev</a><br>
Log:<br>
Remove -Wnon-modular-include<br>
<br>
But keep -Wnon-modular-include-in-[framework-]module<br>
<br>
This warning is too noisy and doesn't really indicate a problem for most<br>
people.  Even though it would only really affect people using<br>
-Weverything, that seems bad so remove it.<br></blockquote><div><br></div><div>Wait a second, we were planning on using this to replace -fmodules-strict-decluse. People using -Weverything need to use -Wno-foo for the warnings they don't want; that's the cost of using that option.</div></div></div></div></blockquote><div><br></div><div>I thought decluse only applied inside a module, so it would be -Wnon-modular-include-in-module?  If I’ve misunderstood something then I’m happy to revert this :-)</div><div><br></div><div>Ben</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Modified:<br>
    cfe/trunk/include/clang/Basic/DiagnosticGroups.td<br>
    cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td<br>
    cfe/trunk/lib/Lex/ModuleMap.cpp<br>
    cfe/trunk/test/Modules/require-modular-includes.m<br>
<br>
Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=208345&r1=208344&r2=208345&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=208345&r1=208344&r2=208345&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)<br>
+++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Thu May  8 13:09:29 2014<br>
@@ -190,8 +190,6 @@ def NonModularIncludeInFrameworkModule<br>
   : DiagGroup<"non-modular-include-in-framework-module">;<br>
 def NonModularIncludeInModule : DiagGroup<"non-modular-include-in-module",<br>
                                           [NonModularIncludeInFrameworkModule]>;<br>
-def NonModularInclude : DiagGroup<"non-modular-include",<br>
-                                  [NonModularIncludeInModule]>;<br>
 def InvalidNoreturn : DiagGroup<"invalid-noreturn">;<br>
 def InvalidSourceEncoding : DiagGroup<"invalid-source-encoding">;<br>
 def KNRPromotedParameter : DiagGroup<"knr-promoted-parameter">;<br>
<br>
Modified: cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td?rev=208345&r1=208344&r2=208345&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td?rev=208345&r1=208344&r2=208345&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (original)<br>
+++ cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td Thu May  8 13:09:29 2014<br>
@@ -626,8 +626,7 @@ def warn_non_modular_include_in_framewor<br>
 def warn_non_modular_include_in_module : Warning<<br>
   "include of non-modular header inside module '%0'">,<br>
   InGroup<NonModularIncludeInModule>, DefaultIgnore;<br>
-def warn_non_modular_include : Warning<<br>
-  "include of non-modular header">, InGroup<NonModularInclude>, DefaultIgnore;<br>
+<br>
<br>
 def warn_header_guard : Warning<<br>
   "%0 is used as a header guard here, followed by #define of a different macro">,<br>
<br>
Modified: cfe/trunk/lib/Lex/ModuleMap.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/ModuleMap.cpp?rev=208345&r1=208344&r2=208345&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/ModuleMap.cpp?rev=208345&r1=208344&r2=208345&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/Lex/ModuleMap.cpp (original)<br>
+++ cfe/trunk/lib/Lex/ModuleMap.cpp Thu May  8 13:09:29 2014<br>
@@ -310,8 +310,6 @@ void ModuleMap::diagnoseHeaderInclusion(<br>
         diag::warn_non_modular_include_in_framework_module :<br>
         diag::warn_non_modular_include_in_module;<br>
     Diags.Report(FilenameLoc, DiagID) << RequestingModule->getFullModuleName();<br>
-  } else {<br>
-    Diags.Report(FilenameLoc, diag::warn_non_modular_include);<br>
   }<br>
 }<br>
<br>
<br>
Modified: cfe/trunk/test/Modules/require-modular-includes.m<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/require-modular-includes.m?rev=208345&r1=208344&r2=208345&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/require-modular-includes.m?rev=208345&r1=208344&r2=208345&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/test/Modules/require-modular-includes.m (original)<br>
+++ cfe/trunk/test/Modules/require-modular-includes.m Thu May  8 13:09:29 2014<br>
@@ -40,12 +40,6 @@<br>
 // RUN:     -fmodules-cache-path=%t -I %S/Inputs/require-modular-includes \<br>
 // RUN:     -Werror -fmodule-name=A -fsyntax-only -x objective-c -<br>
<br>
-// Including a non-modular header (directly) with -Wnon-modular-include<br>
-// RUN: echo '#include "NotInModule.h"' | \<br>
-// RUN:   %clang_cc1 -Wnon-modular-include -fmodules \<br>
-// RUN:     -fmodules-cache-path=%t -I %S/Inputs/require-modular-includes \<br>
-// RUN:     -fmodule-name=A -fsyntax-only -x objective-c - 2>&1 | FileCheck %s<br>
-<br>
 // Including an excluded header<br>
 // RUN: echo '@import IncludeExcluded;' | \<br>
 // RUN:   %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules \<br>
@@ -86,10 +80,4 @@<br>
 // RUN:     -fmodules-cache-path=%t -I %S/Inputs/require-modular-includes \<br>
 // RUN:     -Werror -fsyntax-only -x objective-c -<br>
<br>
-// Non-framework module (fail)<br>
-// RUN: echo '@import NotFramework;' | \<br>
-// RUN:   not %clang_cc1 -Werror=non-modular-include -fmodules \<br>
-// RUN:     -fmodules-cache-path=%t -I %S/Inputs/require-modular-includes \<br>
-// RUN:     -fsyntax-only -x objective-c - 2>&1 | FileCheck %s<br>
-<br>
 // CHECK: include of non-modular header<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div></div>
</blockquote></div><br></body></html>