This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Go patch committed: Don't generate range value for sink


This patch from Chris Manghane fixes a bug when the value in a range
clause is a sink variable.  It's fixedbugs/bug454.go in the master Go
testsuite, and will appear in the gccgo testsuite in due course.
Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.
Committed to mainline and 4.8 branch.

Ian

diff -r 4baad377e84a go/parse.cc
--- a/go/parse.cc	Sat Aug 17 10:56:57 2013 -0700
+++ b/go/parse.cc	Sat Aug 17 11:02:05 2013 -0700
@@ -5266,7 +5266,8 @@
 	no->var_value()->set_type_from_range_value();
       if (is_new)
 	any_new = true;
-      p_range_clause->value = Expression::make_var_reference(no, location);
+      if (!Gogo::is_sink_name(pti->name()))
+        p_range_clause->value = Expression::make_var_reference(no, location);
     }
 
   if (!any_new)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]