From 5a4cca2cc576bb42309e3e86befaa904283e9c8c Mon Sep 17 00:00:00 2001 From: Matt Beaumont-Gay Date: Fri, 3 Jun 2011 18:30:50 +0000 Subject: [PATCH] Don't warn about -Wno-foo where foo is an unknown warning option. Explicitly 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 | 3 +++ lib/Frontend/Warnings.cpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/clang/Basic/DiagnosticFrontendKinds.td b/include/clang/Basic/DiagnosticFrontendKinds.td index 67fc22e410..4aa85134aa 100644 --- a/include/clang/Basic/DiagnosticFrontendKinds.td +++ b/include/clang/Basic/DiagnosticFrontendKinds.td @@ -281,6 +281,9 @@ def err_not_a_pch_file : Error< def warn_unknown_warning_option : Warning< "unknown warning option '%0'">, InGroup >; +def warn_unknown_negative_warning_option : Warning< + "unknown warning option '%0'">, + InGroup >, DefaultIgnore; def warn_unknown_warning_specifier : Warning< "unknown %0 warning specifier: '%1'">, InGroup >; diff --git a/lib/Frontend/Warnings.cpp b/lib/Frontend/Warnings.cpp index 829ac9e661..f12b484c05 100644 --- a/lib/Frontend/Warnings.cpp +++ b/lib/Frontend/Warnings.cpp @@ -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()); } } -- 2.50.1