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

Reply via email to