go: fix clang warnings

Message ID b5d730a0-3ae8-3dd0-848b-09ad67542bde@suse.cz
State Accepted
Headers
Series go: fix clang warnings |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Martin Liška Dec. 21, 2022, 8:05 a.m. UTC
  The patch fixes the following Clang warnings:

gcc/go/gofrontend/escape.cc:1290:17: warning: private field 'fn_' is not used [-Wunused-private-field]
gcc/go/gofrontend/escape.cc:3478:19: warning: private field 'context_' is not used [-Wunused-private-field]
gcc/go/gofrontend/lex.h:564:15: warning: private field 'input_file_name_' is not used [-Wunused-private-field]
gcc/go/gofrontend/types.cc:5788:20: warning: private field 'call_' is not used [-Wunused-private-field]
gcc/go/gofrontend/wb.cc:206:9: warning: private field 'gogo_' is not used [-Wunused-private-field]

Ready for master?
Thanks,
Martin

gcc/go/ChangeLog:

	* gofrontend/escape.cc (Gogo::analyze_escape): Remove context
	arg.
	(Gogo::assign_connectivity): Likewise.
	(class Escape_analysis_tag): Remove context ctor argument.
	(Gogo::tag_function): Likewise.
	* gofrontend/expressions.cc (Call_expression::do_type):
	Remove extra arg.
	* gofrontend/gogo.h (class Gogo): Remove context arg.
	* gofrontend/lex.h (class Lex): Make input_file_name_
	with ATTRIBUTE_UNUSED.
	* gofrontend/types.cc (class Call_multiple_result_type):
	Remove call_ argument.
	(Type::make_call_multiple_result_type): Likewise.
	* gofrontend/types.h (class Type): Remove argument.
	* gofrontend/wb.cc (class Check_escape): Remove gogo_
	field.
	(Gogo::add_write_barriers): Remove extra arg.
---
 gcc/go/gofrontend/escape.cc      | 20 +++++++-------------
 gcc/go/gofrontend/expressions.cc |  2 +-
 gcc/go/gofrontend/gogo.h         |  2 +-
 gcc/go/gofrontend/lex.h          |  2 +-
 gcc/go/gofrontend/types.cc       | 13 ++++---------
 gcc/go/gofrontend/types.h        |  2 +-
 gcc/go/gofrontend/wb.cc          | 10 +++-------
 7 files changed, 18 insertions(+), 33 deletions(-)
  

Comments

Ian Lance Taylor Dec. 22, 2022, 10:26 p.m. UTC | #1
On Wed, Dec 21, 2022 at 12:05 AM Martin Liška <mliska@suse.cz> wrote:
>
> The patch fixes the following Clang warnings:
>
> gcc/go/gofrontend/escape.cc:1290:17: warning: private field 'fn_' is not used [-Wunused-private-field]
> gcc/go/gofrontend/escape.cc:3478:19: warning: private field 'context_' is not used [-Wunused-private-field]
> gcc/go/gofrontend/lex.h:564:15: warning: private field 'input_file_name_' is not used [-Wunused-private-field]
> gcc/go/gofrontend/types.cc:5788:20: warning: private field 'call_' is not used [-Wunused-private-field]
> gcc/go/gofrontend/wb.cc:206:9: warning: private field 'gogo_' is not used [-Wunused-private-field]
>
> Ready for master?

Thanks.  Committed to mainline.

Ian
  

Patch

diff --git a/gcc/go/gofrontend/escape.cc b/gcc/go/gofrontend/escape.cc
index 6da29edc419..ccbc7910743 100644
--- a/gcc/go/gofrontend/escape.cc
+++ b/gcc/go/gofrontend/escape.cc
@@ -990,7 +990,7 @@  Gogo::analyze_escape()
       for (std::vector<Named_object*>::iterator fn = stack.begin();
            fn != stack.end();
            ++fn)
-        this->tag_function(context, *fn);
+	this->tag_function(*fn);
 
       if (this->debug_escape_level() != 0)
 	{
@@ -1246,10 +1246,10 @@  Escape_analysis_loop::statement(Block*, size_t*, Statement* s)
 class Escape_analysis_assign : public Traverse
 {
 public:
-  Escape_analysis_assign(Escape_context* context, Named_object* fn)
+  Escape_analysis_assign(Escape_context* context)
     : Traverse(traverse_statements
 	       | traverse_expressions),
-      context_(context), fn_(fn)
+      context_(context)
   { }
 
   // Model statements within a function as assignments and flows between nodes.
@@ -1286,8 +1286,6 @@  public:
 private:
   // The escape context for this set of functions.
   Escape_context* context_;
-  // The current function being analyzed.
-  Named_object* fn_;
 };
 
 // Helper function to detect self assignment like the following.
@@ -2899,7 +2897,7 @@  Gogo::assign_connectivity(Escape_context* context, Named_object* fn)
   int save_depth = context->loop_depth();
   context->set_loop_depth(1);
 
-  Escape_analysis_assign ea(context, fn);
+  Escape_analysis_assign ea(context);
   Function::Results* res = fn->func_value()->result_variables();
   if (res != NULL)
     {
@@ -3465,17 +3463,13 @@  Gogo::propagate_escape(Escape_context* context, Node* dst)
 class Escape_analysis_tag
 {
  public:
-  Escape_analysis_tag(Escape_context* context)
-    : context_(context)
+  Escape_analysis_tag()
   { }
 
   // Add notes to the function's type about the escape information of its
   // input parameters.
   void
   tag(Named_object* fn);
-
- private:
-  Escape_context* context_;
 };
 
 void
@@ -3580,9 +3574,9 @@  Escape_analysis_tag::tag(Named_object* fn)
 // retain analysis results across imports.
 
 void
-Gogo::tag_function(Escape_context* context, Named_object* fn)
+Gogo::tag_function(Named_object* fn)
 {
-  Escape_analysis_tag eat(context);
+  Escape_analysis_tag eat;
   eat.tag(fn);
 }
 
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index 71838b14629..53901306ef7 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -12500,7 +12500,7 @@  Call_expression::do_type()
   else if (results->size() == 1)
     ret = results->begin()->type();
   else
-    ret = Type::make_call_multiple_result_type(this);
+    ret = Type::make_call_multiple_result_type();
 
   this->type_ = ret;
 
diff --git a/gcc/go/gofrontend/gogo.h b/gcc/go/gofrontend/gogo.h
index 433fdaebb66..c08a16b74c2 100644
--- a/gcc/go/gofrontend/gogo.h
+++ b/gcc/go/gofrontend/gogo.h
@@ -879,7 +879,7 @@  class Gogo
   // Add notes about the escape level of a function's input and output
   // parameters for exporting and importing top level functions.
   void
-  tag_function(Escape_context*, Named_object*);
+  tag_function(Named_object*);
 
   // Reclaim memory of escape analysis Nodes.
   void
diff --git a/gcc/go/gofrontend/lex.h b/gcc/go/gofrontend/lex.h
index 1c4cc5bd2a1..701e5d4b353 100644
--- a/gcc/go/gofrontend/lex.h
+++ b/gcc/go/gofrontend/lex.h
@@ -561,7 +561,7 @@  class Lex
   gather_embed(const char*, const char*);
 
   // The input file name.
-  const char* input_file_name_;
+  const char* input_file_name_ ATTRIBUTE_UNUSED;
   // The input file.
   FILE* input_file_;
   // The object used to keep track of file names and line numbers.
diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc
index 9f34801f695..7f471eab428 100644
--- a/gcc/go/gofrontend/types.cc
+++ b/gcc/go/gofrontend/types.cc
@@ -5747,9 +5747,8 @@  Type::make_nil_type()
 class Call_multiple_result_type : public Type
 {
  public:
-  Call_multiple_result_type(Call_expression* call)
-    : Type(TYPE_CALL_MULTIPLE_RESULT),
-      call_(call)
+  Call_multiple_result_type()
+    : Type(TYPE_CALL_MULTIPLE_RESULT)
   { }
 
  protected:
@@ -5782,18 +5781,14 @@  class Call_multiple_result_type : public Type
   void
   do_mangled_name(Gogo*, std::string*, bool*) const
   { go_assert(saw_errors()); }
-
- private:
-  // The expression being called.
-  Call_expression* call_;
 };
 
 // Make a call result type.
 
 Type*
-Type::make_call_multiple_result_type(Call_expression* call)
+Type::make_call_multiple_result_type()
 {
-  return new Call_multiple_result_type(call);
+  return new Call_multiple_result_type;
 }
 
 // Class Struct_field.
diff --git a/gcc/go/gofrontend/types.h b/gcc/go/gofrontend/types.h
index 49404bd6127..057fa014cee 100644
--- a/gcc/go/gofrontend/types.h
+++ b/gcc/go/gofrontend/types.h
@@ -535,7 +535,7 @@  class Type
   make_nil_type();
 
   static Type*
-  make_call_multiple_result_type(Call_expression*);
+  make_call_multiple_result_type();
 
   static Struct_type*
   make_struct_type(Struct_field_list* fields, Location);
diff --git a/gcc/go/gofrontend/wb.cc b/gcc/go/gofrontend/wb.cc
index 104c5db0b9b..e039c668847 100644
--- a/gcc/go/gofrontend/wb.cc
+++ b/gcc/go/gofrontend/wb.cc
@@ -191,9 +191,8 @@  Mark_address_taken::expression(Expression** pexpr)
 class Check_escape : public Traverse
 {
  public:
-  Check_escape(Gogo* gogo)
-    : Traverse(traverse_expressions | traverse_variables),
-      gogo_(gogo)
+  Check_escape()
+    : Traverse(traverse_expressions | traverse_variables)
   { }
 
   int
@@ -201,9 +200,6 @@  class Check_escape : public Traverse
 
   int
   variable(Named_object*);
-
- private:
-  Gogo* gogo_;
 };
 
 int
@@ -664,7 +660,7 @@  Gogo::add_write_barriers()
     {
       this->propagate_writebarrierrec();
 
-      Check_escape chk(this);
+      Check_escape chk;
       this->traverse(&chk);
     }