https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117263
Bug ID: 117263 Summary: genautomata.cc does not compile with -DNDEBUG due to unused but set variable Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: dario.gjorgjevski at gmail dot com Target Milestone: --- GCC commit c33d8c55a When building with -DNDEBUG, genautomata.cc fails to compile due to unused but set varaible ('states_num' on line 9090). The following patch should fix the issue: diff --git a/gcc/genautomata.cc b/gcc/genautomata.cc index ec1e5331a..558f5ef27 100644 --- a/gcc/genautomata.cc +++ b/gcc/genautomata.cc @@ -9087,8 +9087,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; @@ -9105,13 +9105,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); EOF