https://gcc.gnu.org/g:4ac9dec2e30f4739e465cad68337ef4d189c021a

commit r16-6180-g4ac9dec2e30f4739e465cad68337ef4d189c021a
Author: David Malcolm <[email protected]>
Date:   Tue Dec 16 16:12:01 2025 -0500

    analyzer: fix warnings [PR123136]
    
    gcc/analyzer/ChangeLog:
            PR analyzer/123136
            * engine.cc
            (strongly_connected_components::strongly_connected_components):
            Consistently use size_t.
            (strongly_connected_components::dump): Likewise.
            (strongly_connected_components::to_json): Likewise.
            (exploded_graph::print_bar_charts): Likewise.
            (exploded_path::feasible_p): Remove unused locals.
            (exploded_graph_annotator::exploded_graph_annotator): Use size_t
            for iterator var.
            (impl_run_checkers): Drop logger param of engine ctor.
            * ops.cc (phis_for_edge_op::maybe_make): Drop unused param of
            phis_for_edge_op ctor.
            (phis_for_edge_op::phis_for_edge_op): Likewise.
            * ops.h (operation::~operation): Make virtual.
            (control_flow_op::dyn_cast_control_flow_op): Add "final override".
            (phis_for_edge_op::phis_for_edge_op): Drop unused param.
            (phis_for_edge_op::m_cfg_in_edge): Drop unused field.
            * region-model.cc (engine::engine): Drop unused "logger" param.
            * region-model.h (engine::engine): Likewise.
            * supergraph-fixup-locations.cc (location_fixer::location_fixer):
            Drop m_sg field.
            (location_fixer::m_sg): Drop unused field.
            (location_fixer::m_purge_map): Drop unused field.
            * supergraph-sorting.cc (class sorting_worklist): Drop unused
            m_worklist field.
    
    Signed-off-by: David Malcolm <[email protected]>

Diff:
---
 gcc/analyzer/engine.cc                     | 26 +++++++++++---------------
 gcc/analyzer/ops.cc                        |  9 +++------
 gcc/analyzer/ops.h                         |  8 +++-----
 gcc/analyzer/region-model.cc               |  3 +--
 gcc/analyzer/region-model.h                |  3 +--
 gcc/analyzer/supergraph-fixup-locations.cc |  5 +----
 gcc/analyzer/supergraph-sorting.cc         |  9 ++++-----
 7 files changed, 24 insertions(+), 39 deletions(-)

diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
index 714e6431cd64..3e4c39fa8008 100644
--- a/gcc/analyzer/engine.cc
+++ b/gcc/analyzer/engine.cc
@@ -2228,7 +2228,7 @@ strongly_connected_components (const supergraph &sg, 
logger *logger)
   LOG_SCOPE (logger);
   auto_timevar tv (TV_ANALYZER_SCC);
 
-  for (int i = 0; i < m_sg.m_nodes.length (); i++)
+  for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
     m_per_node.quick_push (per_node_data ());
 
   for (auto snode : m_sg.m_nodes)
@@ -2255,10 +2255,10 @@ strongly_connected_components::dump () const
       fprintf (stderr, "%i", i);
     }
   fprintf (stderr, "]\n");
-  for (int i = 0; i < m_sg.m_nodes.length (); i++)
+  for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
     {
       const per_node_data &v = m_per_node[i];
-      fprintf (stderr, "SN %i: index: %i lowlink: %i on_stack: %i\n",
+      fprintf (stderr, "SN %lu: index: %i lowlink: %i on_stack: %i\n",
               i, v.m_id, v.m_lowlink, v.m_on_stack);
     }
 }
@@ -2269,7 +2269,7 @@ std::unique_ptr<json::array>
 strongly_connected_components::to_json () const
 {
   auto scc_arr = std::make_unique<json::array> ();
-  for (int i = 0; i < m_sg.m_nodes.length (); i++)
+  for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
     scc_arr->append (std::make_unique<json::integer_number> (get_scc_id (i)));
   return scc_arr;
 }
@@ -3831,7 +3831,7 @@ exploded_graph::print_bar_charts (pretty_printer *pp) 
const
 
   /* Accumulate number of enodes per supernode.  */
   auto_vec<unsigned> enodes_per_supernode (m_sg.m_nodes.length ());
-  for (int i = 0; i < m_sg.m_nodes.length (); i++)
+  for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
     enodes_per_supernode.quick_push (0);
   int i;
   exploded_node *enode;
@@ -3845,7 +3845,7 @@ exploded_graph::print_bar_charts (pretty_printer *pp) 
const
 
   /* Accumulate excess enodes per supernode.  */
   auto_vec<unsigned> excess_enodes_per_supernode (m_sg.m_nodes.length ());
-  for (int i = 0; i < m_sg.m_nodes.length (); i++)
+  for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
     excess_enodes_per_supernode.quick_push (0);
   for (point_map_t::iterator iter = m_per_point_data.begin ();
        iter != m_per_point_data.end (); ++iter)
@@ -3871,7 +3871,7 @@ exploded_graph::print_bar_charts (pretty_printer *pp) 
const
       bar_chart enodes_per_snode;
       bar_chart excess_enodes_per_snode;
       bool have_excess_enodes = false;
-      for (int i = 0; i < m_sg.m_nodes.length (); i++)
+      for (size_t i = 0; i < m_sg.m_nodes.length (); i++)
        {
          const supernode *iter_snode = m_sg.m_nodes[i];
          if (iter_snode->get_function () != fn)
@@ -4089,12 +4089,8 @@ exploded_path::feasible_p (logger *logger,
        {
          gcc_assert (rc);
          if (out)
-           {
-             const exploded_node &src_enode = *eedge->m_src;
-             const program_point &src_point = src_enode.get_point ();
-             *out = std::make_unique<feasibility_problem> (edge_idx, *eedge,
-                                                           std::move (rc));
-           }
+           *out = std::make_unique<feasibility_problem> (edge_idx, *eedge,
+                                                         std::move (rc));
          return false;
        }
 
@@ -4897,7 +4893,7 @@ public:
   : m_eg (eg)
   {
     /* Avoid O(N^2) by prepopulating m_enodes_per_snode_id.  */
-    for (int i = 0; i < eg.get_supergraph ().m_nodes.length (); ++i)
+    for (size_t i = 0; i < eg.get_supergraph ().m_nodes.length (); ++i)
       m_enodes_per_snode_id.push_back (std::vector<exploded_node *> ());
     exploded_node *enode;
     unsigned i;
@@ -5192,7 +5188,7 @@ impl_run_checkers (logger *logger)
 
   maybe_dump_supergraph (sg, "fixup-locations");
 
-  engine eng (mgr, &sg, logger);
+  engine eng (mgr, &sg);
 
   state_purge_map *purge_map = nullptr;
   if (flag_analyzer_state_purge)
diff --git a/gcc/analyzer/ops.cc b/gcc/analyzer/ops.cc
index f7dd3a6d698e..77943948b469 100644
--- a/gcc/analyzer/ops.cc
+++ b/gcc/analyzer/ops.cc
@@ -2158,15 +2158,12 @@ phis_for_edge_op::maybe_make (::edge cfg_in_edge)
   if (pairs.empty ())
     return nullptr;
 
-  return std::make_unique <phis_for_edge_op> (std::move (pairs),
-                                             cfg_in_edge);
+  return std::make_unique <phis_for_edge_op> (std::move (pairs));
 }
 
-phis_for_edge_op::phis_for_edge_op (std::vector<pair> &&pairs,
-                                   ::edge cfg_in_edge)
+phis_for_edge_op::phis_for_edge_op (std::vector<pair> &&pairs)
 : operation (kind::phis),
-  m_pairs (std::move (pairs)),
-  m_cfg_in_edge (cfg_in_edge)
+  m_pairs (std::move (pairs))
 {
 }
 
diff --git a/gcc/analyzer/ops.h b/gcc/analyzer/ops.h
index 8681e0266c49..30c5c71c2093 100644
--- a/gcc/analyzer/ops.h
+++ b/gcc/analyzer/ops.h
@@ -96,7 +96,7 @@ class operation
     call_and_return
   };
 
-  ~operation () {}
+  virtual ~operation () {}
 
   void
   dump () const;
@@ -630,7 +630,7 @@ public:
                           std::unique_ptr<rejected_constraint> *out_rc) const 
override;
 
   const control_flow_op *
-  dyn_cast_control_flow_op () const { return this; }
+  dyn_cast_control_flow_op () const final override { return this; }
 
   ::edge get_cfg_edge () const { return m_cfg_edge; }
   int get_flags () const { return m_cfg_edge->flags; }
@@ -947,8 +947,7 @@ public:
     return std::make_unique<phis_for_edge_op> (*this);
   }
 
-  phis_for_edge_op (std::vector<pair> &&pairs,
-                   ::edge cfg_in_edge);
+  phis_for_edge_op (std::vector<pair> &&pairs);
 
   const phis_for_edge_op *
   dyn_cast_phis_for_edge_op () const final override { return this; }
@@ -999,7 +998,6 @@ private:
                region_model_context *ctxt) const;
 
   std::vector<pair> m_pairs;
-  ::edge m_cfg_in_edge;
 };
 
 } // namespace ana
diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc
index 13b5dc3cd733..6ce3f035a9b1 100644
--- a/gcc/analyzer/region-model.cc
+++ b/gcc/analyzer/region-model.cc
@@ -7601,8 +7601,7 @@ rejected_ranges_constraint::dump_to_pp (pretty_printer 
*pp) const
 /* engine's ctor.  */
 
 engine::engine (region_model_manager &mgr,
-               const supergraph *sg,
-               logger *logger)
+               const supergraph *sg)
 : m_mgr (mgr),
   m_sg (sg)
 {
diff --git a/gcc/analyzer/region-model.h b/gcc/analyzer/region-model.h
index 091f0d0ac4cd..c89f88947abb 100644
--- a/gcc/analyzer/region-model.h
+++ b/gcc/analyzer/region-model.h
@@ -1334,8 +1334,7 @@ class engine
 {
 public:
   engine (region_model_manager &mgr,
-         const supergraph *sg = nullptr,
-         logger *logger = nullptr);
+         const supergraph *sg = nullptr);
   const supergraph *get_supergraph () { return m_sg; }
   region_model_manager *get_model_manager () { return &m_mgr; }
   known_function_manager *get_known_function_manager ()
diff --git a/gcc/analyzer/supergraph-fixup-locations.cc 
b/gcc/analyzer/supergraph-fixup-locations.cc
index 41544d756d2f..84e0edbcefeb 100644
--- a/gcc/analyzer/supergraph-fixup-locations.cc
+++ b/gcc/analyzer/supergraph-fixup-locations.cc
@@ -36,8 +36,7 @@ class location_fixer
 public:
   location_fixer (supergraph &sg,
                  ana::logger *logger)
-  : m_sg (sg),
-    m_logger (logger),
+  : m_logger (logger),
     m_stats ()
   {
     for (auto node : sg.m_nodes)
@@ -84,8 +83,6 @@ public:
   }
 
 private:
-  supergraph &m_sg;
-  state_purge_map *m_purge_map;
   supergraph_manipulation::worklist m_worklist;
   ana::logger *m_logger;
   struct stats
diff --git a/gcc/analyzer/supergraph-sorting.cc 
b/gcc/analyzer/supergraph-sorting.cc
index 8021b1529927..fb0b5763e68c 100644
--- a/gcc/analyzer/supergraph-sorting.cc
+++ b/gcc/analyzer/supergraph-sorting.cc
@@ -76,7 +76,7 @@ class sorting_worklist
 {
 public:
   sorting_worklist ()
-  : m_queue (key_t (*this, nullptr))
+  : m_queue (key_t (nullptr))
   {
   }
 
@@ -88,8 +88,8 @@ private:
   class key_t
   {
   public:
-    key_t (const sorting_worklist &w, supernode *snode)
-    : m_worklist (w), m_snode (snode)
+    key_t (supernode *snode)
+    : m_snode (snode)
     {}
 
     bool operator< (const key_t &other) const
@@ -109,7 +109,6 @@ private:
 
   private:
     static int cmp (const key_t &ka, const key_t &kb);
-    const sorting_worklist &m_worklist;
     supernode *m_snode;
   };
 
@@ -126,7 +125,7 @@ private:
 void
 sorting_worklist::add_node (supernode *n)
 {
-  m_queue.insert ({*this, n}, n);
+  m_queue.insert ({n}, n);
   m_set_of_queued_nodes.insert (n);
 }

Reply via email to