[pushed] analyzer: fix clang warnings [PR112317]

Message ID 20231102124852.2156995-1-dmalcolm@redhat.com
State Unresolved
Headers
Series [pushed] analyzer: fix clang warnings [PR112317] |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

David Malcolm Nov. 2, 2023, 12:48 p.m. UTC
  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(-)
  

Patch

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