Hi.

Before the patch we have:

$ gcc-11 --help | grep target-help
  --target-help            Display target specific command line options.
$ gcc-11 --help=common | grep target-help
  --target-help               Alias for --help=target.

and --target-help prints undocumented options (that was reported in the PR).

After my change we do:

$ gcc --help | grep target-help
  --target-help            Display target specific command line options 
(including assembler and linker options).
$ gcc --help=common | grep target-help
  --target-help               Display target specific command line options 
(including assembler and linker options).

and the undocumented options are not printed.

Ready to be installed after tests?
Thanks,
Martin

        PR driver/105096

gcc/ChangeLog:

        * common.opt: Document properly based on what it does.
        * gcc.cc (display_help): Unify with what we have in common.opt.
        * opts.cc (common_handle_option): Do not print undocumented
        options.
---
 gcc/common.opt | 2 +-
 gcc/gcc.cc     | 3 ++-
 gcc/opts.cc    | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/gcc/common.opt b/gcc/common.opt
index 8b6513de47c..8a0dafc522d 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -419,7 +419,7 @@ Driver Alias(symbolic)
-target-help
 Common Driver
-Alias for --help=target.
+Display target specific command line options (including assembler and linker 
options).
-time
 Driver Alias(time)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index a4d863ca457..bb07cc244e3 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -3758,7 +3758,8 @@ display_help (void)
fputs (_(" -pass-exit-codes Exit with highest error code from a phase.\n"), stdout);
   fputs (_("  --help                   Display this information.\n"), stdout);
-  fputs (_("  --target-help            Display target specific command line 
options.\n"), stdout);
+  fputs (_("  --target-help            Display target specific command line options 
"
+          "(including assembler and linker options).\n"), stdout);
   fputs (_("  
--help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...].\n"),
 stdout);
   fputs (_("                           Display specific types of command line 
options.\n"), stdout);
   if (! verbose_flag)
diff --git a/gcc/opts.cc b/gcc/opts.cc
index ef5fe9b11ca..e5e3119a980 100644
--- a/gcc/opts.cc
+++ b/gcc/opts.cc
@@ -2557,7 +2557,7 @@ common_handle_option (struct gcc_options *opts,
        break;
target_option_override_hook ();
-      print_specific_help (CL_TARGET, CL_UNDOCUMENTED, 0, opts, lang_mask);
+      print_specific_help (CL_TARGET, 0, 0, opts, lang_mask);
       opts->x_exit_after_options = true;
       break;
--
2.35.1

Reply via email to