From 762c279900efedc1407c3c38d98601ddbff575ae Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 9 Mar 2012 06:37:27 +0000 Subject: [PATCH] compiler: Correct handling of sink receiver. From-SVN: r185127 --- gcc/go/gofrontend/gogo.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index ca57aea26ee..5fe5aead9c0 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -628,7 +628,7 @@ Gogo::start_function(const std::string& name, Function_type* type, Variable* this_param = new Variable(receiver->type(), NULL, false, true, true, location); std::string rname = receiver->name(); - if (rname.empty()) + if (rname.empty() || Gogo::is_sink_name(rname)) { // We need to give receivers a name since they wind up in // DECL_ARGUMENTS. FIXME. @@ -638,8 +638,7 @@ Gogo::start_function(const std::string& name, Function_type* type, ++count; rname = buf; } - if (!Gogo::is_sink_name(rname)) - block->bindings()->add_variable(rname, NULL, this_param); + block->bindings()->add_variable(rname, NULL, this_param); } const Typed_identifier_list* parameters = type->parameters(); -- 2.30.2