driver: Improve the generated help text for alias options

gcc/ChangeLog:

2020-03-23  Lewis Hyatt  <lhyatt@gmail.com>

	* opts.c (print_filtered_help): Improve the help text for alias options.
This commit is contained in:
Lewis Hyatt 2020-03-23 14:37:02 -04:00
parent 88c9a831f3
commit d326e9586b
2 changed files with 27 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2020-03-23 Lewis Hyatt <lhyatt@gmail.com>
* opts.c (print_filtered_help): Improve the help text for alias options.
2020-03-23 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
Andre Vieira <andre.simoesdiasvieira@arm.com>
Mihail Ionescu <mihail.ionescu@arm.com>

View File

@ -1315,14 +1315,31 @@ print_filtered_help (unsigned int include_flags,
if (option->alias_target < N_OPTS
&& cl_options [option->alias_target].help)
{
const struct cl_option *target = cl_options + option->alias_target;
if (option->help == NULL)
{
/* For undocumented options that are aliases for other options
that are documented, point the reader to the other option in
preference of the former. */
snprintf (new_help, sizeof new_help,
_("Same as %s. Use the latter option instead."),
cl_options [option->alias_target].opt_text);
/* The option is undocumented but is an alias for an option that
is documented. If the option has alias arguments, then its
purpose is to provide certain arguments to the other option, so
inform the reader of this. Otherwise, point the reader to the
other option in preference to the former. */
if (option->alias_arg)
{
if (option->neg_alias_arg)
snprintf (new_help, sizeof new_help,
_("Same as %s%s (or, in negated form, %s%s)."),
target->opt_text, option->alias_arg,
target->opt_text, option->neg_alias_arg);
else
snprintf (new_help, sizeof new_help,
_("Same as %s%s."),
target->opt_text, option->alias_arg);
}
else
snprintf (new_help, sizeof new_help,
_("Same as %s."),
target->opt_text);
}
else
{