Filter out language specific options from --help=common.
authorMartin Liska <mliska@suse.cz>
Mon, 27 Jan 2020 10:01:26 +0000 (11:01 +0100)
committerMartin Liska <mliska@suse.cz>
Mon, 27 Jan 2020 10:01:26 +0000 (11:01 +0100)
PR driver/91220
* opts.c (print_filtered_help): Exclude language-specific
options from --help=common unless enabled in all FEs.

gcc/ChangeLog
gcc/opts.c

index 4fc5dcd527e5c79df92b5c919497bd32b7d8c380..3541c6638f96bde3a6e18b7733409c077d8bc2da 100644 (file)
@@ -1,3 +1,9 @@
+2020-01-27  Martin Liska  <mliska@suse.cz>
+
+       PR driver/91220
+       * opts.c (print_filtered_help): Exclude language-specific
+       options from --help=common unless enabled in all FEs.
+
 2020-01-27  Martin Liska  <mliska@suse.cz>
 
        * opts.c (print_help): Exclude params from
index 3b2cc854af1581dfe8e996c13b3717adbf6a0a9c..7affeb41a96a997232bfe898d7932f7c151cc46a 100644 (file)
@@ -1285,6 +1285,14 @@ print_filtered_help (unsigned int include_flags,
                               | CL_COMMON | CL_TARGET)) == 0)
        continue;
 
+      /* If an option contains a language specification,
+        exclude it from common unless all languages are present.  */
+      if ((include_flags & CL_COMMON)
+         && !(option->flags & CL_DRIVER)
+         && (option->flags & CL_LANG_ALL)
+         && (option->flags & CL_LANG_ALL) != CL_LANG_ALL)
+       continue;
+
       found = true;
       /* Skip switches that have already been printed.  */
       if (opts->x_help_printed[i])