https://gcc.gnu.org/g:b81bb3ed216213fdaba82addae9fc34619ad6ec7
commit r15-7450-gb81bb3ed216213fdaba82addae9fc34619ad6ec7 Author: Dario Gjorgjevski <dario.gjorgjev...@gmail.com> Date: Sun Feb 9 09:16:31 2025 -0700 [PR middle-end/117263] Avoid unused-but-set warning in genautomata This is a trivial bug where a user wanted to define NDEBUG when building genautomata, presumably trying to debug its behavior. This resulted in a unused-but-set warning which caused the build to fail. Dario included the trivial fixes in the PR which I put through the usual bootstrap & regression test as well as compiling genautomata with NDEBUG. Pushing to the trunk. PR middle-end/117263 gcc/ * genautomata.cc (output_statistics): Avoid set but unnused warnings when compiling with NDEBUG. Diff: --- gcc/genautomata.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/genautomata.cc b/gcc/genautomata.cc index 69f856d141cd..4059a229f961 100644 --- a/gcc/genautomata.cc +++ b/gcc/genautomata.cc @@ -9088,8 +9088,8 @@ static void output_statistics (FILE *f) { automaton_t automaton; - int states_num; #ifndef NDEBUG + int states_num; int transition_comb_vect_els = 0; int transition_full_vect_els = 0; int min_issue_delay_vect_els = 0; @@ -9106,13 +9106,17 @@ output_statistics (FILE *f) automaton->NDFA_states_num, automaton->NDFA_arcs_num); fprintf (f, " %5d DFA states, %5d DFA arcs\n", automaton->DFA_states_num, automaton->DFA_arcs_num); +#ifndef NDEBUG states_num = automaton->DFA_states_num; +#endif if (!no_minimization_flag) { fprintf (f, " %5d minimal DFA states, %5d minimal DFA arcs\n", automaton->minimal_DFA_states_num, automaton->minimal_DFA_arcs_num); +#ifndef NDEBUG states_num = automaton->minimal_DFA_states_num; +#endif } fprintf (f, " %5d all insns %5d insn equivalence classes\n", description->insns_num, automaton->insn_equiv_classes_num);