Go patch committed: Initialize saw_send_stmt locals

Ian Lance Taylor iant@golang.org
Tue Dec 22 22:47:25 GMT 2020


This patch to the Go frontend initializes a couple of saw_send_stmt
local variables that were incorrectly left uninitialized.  These are
variables in the compiler source, not in the generated code.  The C++
compiler wasn't warning because we take their address.  This fixes
https://golang.org/issue/43252.  Bootstrapped and ran Go testsuite on
x86_64-pc-linux-gnu.  Committed to mainline.

Ian
-------------- next part --------------
7b89979747684476c371208a274c77ec9e402caf
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index c70b60c657f..e67aa3622fb 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-d091cd25a5894ac751fe1868197648fc486cf322
+013a4ddcae2e8b840561c4411bab87f4f0f9ef42
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc
index 3b2e5a7aa86..1664fe36c28 100644
--- a/gcc/go/gofrontend/parse.cc
+++ b/gcc/go/gofrontend/parse.cc
@@ -4491,7 +4491,7 @@ Parse::switch_stat(Label* label)
 
   bool saw_simple_stat = false;
   Expression* switch_val = NULL;
-  bool saw_send_stmt;
+  bool saw_send_stmt = false;
   Type_switch type_switch;
   bool have_type_switch_block = false;
   if (this->simple_stat_may_start_here())
@@ -5326,7 +5326,7 @@ Parse::for_stat(Label* label)
 	{
 	  // We might be looking at a Condition, an InitStat, or a
 	  // RangeClause.
-	  bool saw_send_stmt;
+	  bool saw_send_stmt = false;
 	  cond = this->simple_stat(false, &saw_send_stmt, &range_clause, NULL);
 	  if (!this->peek_token()->is_op(OPERATOR_SEMICOLON))
 	    {


More information about the Gcc-patches mailing list