]> granicus.if.org Git - clang/commitdiff
Don't warn about -Wno-foo where foo is an unknown warning option. Explicitly
authorMatt Beaumont-Gay <matthewbg@google.com>
Fri, 3 Jun 2011 18:30:50 +0000 (18:30 +0000)
committerMatt Beaumont-Gay <matthewbg@google.com>
Fri, 3 Jun 2011 18:30:50 +0000 (18:30 +0000)
passing -Wunknown-warning-option will re-enable warnings about -Wno-foo.

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

include/clang/Basic/DiagnosticFrontendKinds.td
lib/Frontend/Warnings.cpp

index 67fc22e410fe2ee12ccdbebd37bfed7d75065a1e..4aa85134aae410e4fbc208a156c21cc4d2d53b7a 100644 (file)
@@ -281,6 +281,9 @@ def err_not_a_pch_file : Error<
 def warn_unknown_warning_option : Warning<
     "unknown warning option '%0'">,
     InGroup<DiagGroup<"unknown-warning-option"> >;
+def warn_unknown_negative_warning_option : Warning<
+    "unknown warning option '%0'">,
+    InGroup<DiagGroup<"unknown-warning-option"> >, DefaultIgnore;
 def warn_unknown_warning_specifier : Warning<
     "unknown %0 warning specifier: '%1'">,
     InGroup<DiagGroup<"unknown-warning-option"> >;
index 829ac9e661c72ce8ed6072993d54c3a14253a7c4..f12b484c05e6235e79c808e90450b03e5ea553d6 100644 (file)
@@ -123,6 +123,8 @@ void clang::ProcessWarningOptions(Diagnostic &Diags,
     }
 
     if (Diags.setDiagnosticGroupMapping(Opt, Mapping))
-      Diags.Report(diag::warn_unknown_warning_option) << ("-W" + Opt.str());
+      Diags.Report(isPositive ? diag::warn_unknown_warning_option :
+                   diag::warn_unknown_negative_warning_option)
+          << ("-W" + Opt.str());
   }
 }