c/86134 avoid errors for unrecognized -Wno- options
authorRichard Biener <rguenther@suse.de>
Mon, 17 Feb 2020 08:32:44 +0000 (09:32 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 17 Feb 2020 08:32:44 +0000 (09:32 +0100)
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.

gcc/ChangeLog
gcc/opts-global.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr28322-2.c
gcc/testsuite/gcc.dg/pr86134.c [new file with mode: 0644]

index 5357acf060b8c9e4d451be9c1c7845fe5b502674..7c481407de95e4d032328c24fa8655e6b70303b8 100644 (file)
@@ -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
index d5e308bf800d9524a785a394583f46a2a527649e..c658805470e473742a1cf0434ec11daa6e7583b5 100644 (file)
@@ -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);
     }
 }
 
index 6c34e0bbe36a865d11befd0b3bbc7799b03084dd..b326529ac75ec32ee8f3c94fcb3043199fb22004 100644 (file)
@@ -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
index c9e5e228a7bfc39750174c6209b7b1d3eab3ebdc..20adf5e92b87ffe26a12b63543d27b4c9195762b 100644 (file)
@@ -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 (file)
index 0000000..3fd21a3
--- /dev/null
@@ -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 } */