Hi David.

I haven't regstrapped this patch yet.  If you're ok with it, I'll regstrap and
push it.

Cheers,
Filip Kastl


--- 8< ---


Compiling GCC with Clang gives these warnings in analyzer.  This patch
fixes the stuff Clang complains about.

diagnostic-manager.cc:1902:25: warning: comparison of integers of different 
signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare]
engine.cc:1788:8: warning: unused variable 'logger' [-Wunused-variable]
engine.cc:1796:8: warning: unused variable 'fn_result' [-Wunused-variable]
region-model.cc:941:3: warning: 'mark_interesting_stuff' overrides a member 
function but is not marked 'override' [-Winconsistent-missing-override]
region-model.cc:947:3: warning: 'add_function_entry_event' overrides a member 
function but is not marked 'override' [-Winconsistent-missing-override]
shift-diagnostics.cc:144:3: warning: 'mark_interesting_stuff' overrides a 
member function but is not marked 'override' [-Winconsistent-missing-override]
/home/worker/buildworker/tiber-gcc-clang/build/gcc/analyzer/shift-diagnostics.cc:75:3:
 warning: 'mark_interesting_stuff' overrides a member function but is not 
marked 'override' [-Winconsistent-missing-override]

gcc/analyzer/ChangeLog:

        * diagnostic-manager.cc (diagnostic_manager::annotate_exploded_path):
        Add explicit cast to unsigned so that we avoid comparing
        signed and unsigned variables.
        * engine.cc (interprocedural_return::try_to_rewind_data_flow):
        Removed unused variables.
        * region-model.cc: Add the override keyword.
        * shift-diagnostics.cc: Add the override keyword.

Signed-off-by: Filip Kastl <[email protected]>
---
 gcc/analyzer/diagnostic-manager.cc | 2 +-
 gcc/analyzer/engine.cc             | 3 ---
 gcc/analyzer/region-model.cc       | 3 ++-
 gcc/analyzer/shift-diagnostics.cc  | 4 ++--
 4 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/gcc/analyzer/diagnostic-manager.cc 
b/gcc/analyzer/diagnostic-manager.cc
index 41b4c2a75a9..f69d0e780a1 100644
--- a/gcc/analyzer/diagnostic-manager.cc
+++ b/gcc/analyzer/diagnostic-manager.cc
@@ -1899,7 +1899,7 @@ diagnostic_manager::annotate_exploded_path (const 
path_builder &pb,
      rewind state.  */
   std::vector<region_model> src_models;
   std::vector<region_model> dst_models;
-  for (int idx = 0; idx < epath.m_elements.size (); ++idx)
+  for (int idx = 0; (unsigned) idx < epath.m_elements.size (); ++idx)
     {
       auto eedge = epath.m_elements[idx].m_eedge;
       if (logger)
diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
index 59cdcc51e6c..e4fce20017f 100644
--- a/gcc/analyzer/engine.cc
+++ b/gcc/analyzer/engine.cc
@@ -1785,15 +1785,12 @@ interprocedural_return::add_events_to_path 
(checker_path *emission_path,
 bool
 interprocedural_return::try_to_rewind_data_flow (rewind_context &ctxt) const
 {
-  auto logger = ctxt.m_logger;
-
   tree lhs = gimple_call_lhs (&m_call_stmt);
   if (!lhs)
     return true;
 
   const region_model &src_enode_model = ctxt.get_src_region_model ();
   tree fndecl = src_enode_model.get_current_function ()->decl;
-  tree fn_result = DECL_RESULT (fndecl);
 
   ctxt.on_data_flow (DECL_RESULT (fndecl), lhs);
 
diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc
index d88651fc33b..6d4692d9944 100644
--- a/gcc/analyzer/region-model.cc
+++ b/gcc/analyzer/region-model.cc
@@ -938,7 +938,7 @@ public:
   }
 
   void
-  mark_interesting_stuff (interesting_t *interest)
+  mark_interesting_stuff (interesting_t *interest) override
   {
     interest->add_read_region (m_divisor_reg, "divisor zero value");
   }
@@ -947,6 +947,7 @@ public:
   add_function_entry_event (const exploded_edge &eedge,
                            checker_path *emission_path,
                            const state_transition_at_call *state_trans)
+                           override
   {
     class custom_function_entry_event : public function_entry_event
     {
diff --git a/gcc/analyzer/shift-diagnostics.cc 
b/gcc/analyzer/shift-diagnostics.cc
index 724c1a18d64..a0d3f15dafe 100644
--- a/gcc/analyzer/shift-diagnostics.cc
+++ b/gcc/analyzer/shift-diagnostics.cc
@@ -72,7 +72,7 @@ public:
   }
 
   void
-  mark_interesting_stuff (interesting_t *interest)
+  mark_interesting_stuff (interesting_t *interest) override
   {
     interest->add_read_region (m_src_region, "shift count value");
   }
@@ -141,7 +141,7 @@ public:
   }
 
   void
-  mark_interesting_stuff (interesting_t *interest)
+  mark_interesting_stuff (interesting_t *interest) override
   {
     interest->add_read_region (m_src_region, "shift count value");
   }
-- 
2.54.0

Reply via email to