Commit 3ed93fc8 by Olivier Hainque Committed by Olivier Hainque

gcc.c (spec_undefvar_allowed): New global.

2017-07-06  Olivier Hainque  <hainque@adacore.com>

        * gcc.c (spec_undefvar_allowed): New global.
        (process_command): Set to true when running for --version or --help
        alone, or together.
        (getenv_spec_function): When the variable is not defined, use the
        variable name as the variable value if we're allowed not to issue
        a fatal error.

From-SVN: r250027
parent c69f704c
2017-07-06 Olivier Hainque <hainque@adacore.com>
* gcc.c (spec_undefvar_allowed): New global.
(process_command): Set to true when running for --version or --help
alone, or together.
(getenv_spec_function): When the variable is not defined, use the
variable name as the variable value if we're allowed not to issue
a fatal error.
2017-07-06 Jan Hubicka <hubicka@ucw.cz> 2017-07-06 Jan Hubicka <hubicka@ucw.cz>
* auto-profile.c (afdo_set_bb_count, afdo_propagate_edge, * auto-profile.c (afdo_set_bb_count, afdo_propagate_edge,
......
...@@ -4615,23 +4615,23 @@ process_command (unsigned int decoded_options_count, ...@@ -4615,23 +4615,23 @@ process_command (unsigned int decoded_options_count,
/* Decide if undefined variable references are allowed in specs. */ /* Decide if undefined variable references are allowed in specs. */
/* --version and --help alone or together are safe. Note that -v would /* -v alone is safe. --version and --help alone or together are safe. Note
make them unsafe, as they'd then be run for subprocesses as well, the that -v would make them unsafe, as they'd then be run for subprocesses as
location of which might depend on variables possibly coming from well, the location of which might depend on variables possibly coming
self-specs. from self-specs. Note also that the command name is counted in
decoded_options_count. */
Count the number of options we have for which undefined variables unsigned help_version_count = 0;
are harmless for sure, and check that nothing else is set. */
unsigned n_varsafe_options = 0;
if (print_version) if (print_version)
n_varsafe_options++; help_version_count++;
if (print_help_list) if (print_help_list)
n_varsafe_options++; help_version_count++;
spec_undefvar_allowed = (n_varsafe_options == decoded_options_count - 1); spec_undefvar_allowed =
((verbose_flag && decoded_options_count == 2)
|| help_version_count == decoded_options_count - 1);
alloc_switch (); alloc_switch ();
switches[n_switches].part1 = 0; switches[n_switches].part1 = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment