aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/go/gofrontend/gogo.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc
index 2e45384..bf197e5 100644
--- a/gcc/go/gofrontend/gogo.cc
+++ b/gcc/go/gofrontend/gogo.cc
@@ -659,7 +659,13 @@ Gogo::start_function(const std::string& name, Function_type* type,
Named_object* ret;
if (Gogo::is_sink_name(*pname))
- ret = Named_object::make_sink();
+ {
+ static int sink_count;
+ char buf[30];
+ snprintf(buf, sizeof buf, ".$sink%d", sink_count);
+ ++sink_count;
+ ret = Named_object::make_function(buf, NULL, function);
+ }
else if (!type->is_method())
{
ret = this->package_->bindings()->add_function(*pname, NULL, function);