No functional change intended. Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. Pushed to trunk as r14-5080-gc71028c979d55f.
gcc/analyzer/ChangeLog: PR analyzer/112317 * access-diagram.cc (class x_aligned_x_ruler_widget): Eliminate unused field "m_col_widths". (access_diagram_impl::add_valid_vs_invalid_ruler): Update for above change. * region-model.cc (check_one_function_attr_null_terminated_string_arg): Remove unused variables "cd_unchecked", "strlen_sval", and "limited_sval". * region-model.h (region_model_context_decorator::warn): Add missing "override". --- gcc/analyzer/access-diagram.cc | 9 +++------ gcc/analyzer/region-model.cc | 21 +++++---------------- gcc/analyzer/region-model.h | 2 +- 3 files changed, 9 insertions(+), 23 deletions(-) diff --git a/gcc/analyzer/access-diagram.cc b/gcc/analyzer/access-diagram.cc index c7d190e3188..fb8c0282e75 100644 --- a/gcc/analyzer/access-diagram.cc +++ b/gcc/analyzer/access-diagram.cc @@ -919,11 +919,9 @@ class x_aligned_x_ruler_widget : public leaf_widget { public: x_aligned_x_ruler_widget (const access_diagram_impl &dia_impl, - const theme &theme, - table_dimension_sizes &col_widths) + const theme &theme) : m_dia_impl (dia_impl), - m_theme (theme), - m_col_widths (col_widths) + m_theme (theme) { } @@ -973,7 +971,6 @@ private: const access_diagram_impl &m_dia_impl; const theme &m_theme; - table_dimension_sizes &m_col_widths; std::vector<label> m_labels; }; @@ -2361,7 +2358,7 @@ private: LOG_SCOPE (m_logger); x_aligned_x_ruler_widget *w - = new x_aligned_x_ruler_widget (*this, m_theme, *m_col_widths); + = new x_aligned_x_ruler_widget (*this, m_theme); access_range invalid_before_bits; if (m_op.maybe_get_invalid_before_bits (&invalid_before_bits)) diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc index 9479bcf380c..dc834406520 100644 --- a/gcc/analyzer/region-model.cc +++ b/gcc/analyzer/region-model.cc @@ -1877,23 +1877,13 @@ check_one_function_attr_null_terminated_string_arg (const gcall *call, || access->mode == access_read_write) && access->sizarg != UINT_MAX) { - /* First, check for a null-terminated string *without* - emitting warnings (via a null context), to get an - svalue for the strlen of the buffer (possibly - nullptr if there would be an issue). */ - call_details cd_unchecked (call, this, nullptr); - const svalue *strlen_sval - = check_for_null_terminated_string_arg (cd_unchecked, - arg_idx); - - /* Get svalue for the size limit argument. */ call_details cd_checked (call, this, ctxt); const svalue *limit_sval = cd_checked.get_arg_svalue (access->sizarg); const svalue *ptr_sval = cd_checked.get_arg_svalue (arg_idx); /* Try reading all of the bytes expressed by the size param, - but without checking (via a null context). */ + but without emitting warnings (via a null context). */ const svalue *limited_sval = read_bytes (deref_rvalue (ptr_sval, NULL_TREE, nullptr), NULL_TREE, @@ -1912,11 +1902,10 @@ check_one_function_attr_null_terminated_string_arg (const gcall *call, { /* Reading up to the truncation limit seems OK; repeat the read, but with checking enabled. */ - const svalue *limited_sval - = read_bytes (deref_rvalue (ptr_sval, NULL_TREE, ctxt), - NULL_TREE, - limit_sval, - ctxt); + read_bytes (deref_rvalue (ptr_sval, NULL_TREE, ctxt), + NULL_TREE, + limit_sval, + ctxt); } return; } diff --git a/gcc/analyzer/region-model.h b/gcc/analyzer/region-model.h index 8bfb06880ff..4d8480df141 100644 --- a/gcc/analyzer/region-model.h +++ b/gcc/analyzer/region-model.h @@ -890,7 +890,7 @@ class region_model_context_decorator : public region_model_context { public: bool warn (std::unique_ptr<pending_diagnostic> d, - const stmt_finder *custom_finder) + const stmt_finder *custom_finder) override { if (m_inner) return m_inner->warn (std::move (d), custom_finder); -- 2.26.3