[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] c/86134 avoid errors for unrecognized -Wno- options

Martin Liska marxin@gcc.gnu.org
Mon Mar 30 10:06:26 GMT 2020


https://gcc.gnu.org/g:abe13e1847fb91d43f02b5579c4230214d4369f4

commit abe13e1847fb91d43f02b5579c4230214d4369f4
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Feb 17 09:32:44 2020 +0100

    c/86134 avoid errors for unrecognized -Wno- options
    
    This makes sure to not promote diagnostics about unrecognized -Wno-
    options to errors and make the intent of the diagnostic clearer.
    
    2020-02-17  Richard Biener  <rguenther@suse.de>
    
            PR c/86134
            * opts-global.c (print_ignored_options): Use inform and
            amend message.
    
            * gcc.dg/pr86134.c: New testcase.
            * gcc.dg/pr28322-2.c: Adjust.

Diff:
---
 gcc/ChangeLog                    | 6 ++++++
 gcc/opts-global.c                | 6 ++++--
 gcc/testsuite/ChangeLog          | 6 ++++++
 gcc/testsuite/gcc.dg/pr28322-2.c | 2 +-
 gcc/testsuite/gcc.dg/pr86134.c   | 6 ++++++
 5 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5357acf060b..7c481407de9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-02-17  Richard Biener  <rguenther@suse.de>
+
+	PR c/86134
+	* opts-global.c (print_ignored_options): Use inform and
+	amend message.
+
 2020-02-17  Jiufu Guo  <guojiufu@linux.ibm.com>
 
 	PR target/93047
diff --git a/gcc/opts-global.c b/gcc/opts-global.c
index d5e308bf800..c658805470e 100644
--- a/gcc/opts-global.c
+++ b/gcc/opts-global.c
@@ -139,8 +139,10 @@ print_ignored_options (void)
       const char *opt;
 
       opt = ignored_options.pop ();
-      warning_at (UNKNOWN_LOCATION, 0,
-		  "unrecognized command-line option %qs", opt);
+      /* Use inform, not warning_at, to avoid promoting these to errors.  */
+      inform (UNKNOWN_LOCATION,
+	      "unrecognized command-line option %qs may have been intended "
+	      "to silence earlier diagnostics", opt);
     }
 }
 
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6c34e0bbe36..b326529ac75 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2020-02-17  Richard Biener  <rguenther@suse.de>
+
+	PR c/86134
+	* gcc.dg/pr86134.c: New testcase.
+	* gcc.dg/pr28322-2.c: Adjust.
+
 2020-02-17  David Malcolm  <dmalcolm@redhat.com>
 
 	PR analyzer/93388
diff --git a/gcc/testsuite/gcc.dg/pr28322-2.c b/gcc/testsuite/gcc.dg/pr28322-2.c
index c9e5e228a7b..20adf5e92b8 100644
--- a/gcc/testsuite/gcc.dg/pr28322-2.c
+++ b/gcc/testsuite/gcc.dg/pr28322-2.c
@@ -8,5 +8,5 @@ int foo (void)
   return i;
 }
 
-/* { dg-warning "unrecognized command-line option .-Wno-foobar." "" { target *-*-* } 0 } */
+/* { dg-message "unrecognized command-line option .-Wno-foobar." "" { target *-*-* } 0 } */
 
diff --git a/gcc/testsuite/gcc.dg/pr86134.c b/gcc/testsuite/gcc.dg/pr86134.c
new file mode 100644
index 00000000000..3fd21a32306
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr86134.c
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+/* { dg-options "-Wall -Werror -Wno-error=main -Wno-foobar" } */
+
+void main() {} /* { dg-warning "return type" } */
+
+/* { dg-message "unrecognized command-line option" "" { target *-*-* } 0 } */


More information about the Gcc-cvs mailing list