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); }
