From 624c7bbf6ccacf79c67279587dd8cf552b2ec93a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 14 Aug 2015 17:26:27 +0000 Subject: [PATCH] compiler: Report unnamed receiver types. gccgo used to crash when presented with an invalid receiver type in a method. Instead, unnamed receiver types should report an error. Fixes golang/go#11557. Reviewed-on: https://go-review.googlesource.com/13245 From-SVN: r226899 --- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/gogo.cc | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 1961c7ea6ff..10f8b043e06 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -fc9da313b4f5c13b4ac3bdddd98e699fd1c89613 +448d30b696461a39870d1b8beb1195e411300bfd 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/gogo.cc b/gcc/go/gofrontend/gogo.cc index 9a5dd57cdb5..134e0379461 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -1927,7 +1927,11 @@ Gogo::declare_function(const std::string& name, Function_type* type, return ftype->add_method_declaration(name, NULL, type, location); } else - go_unreachable(); + { + error_at(type->receiver()->location(), + "invalid receiver type (receiver must be a named type)"); + return Named_object::make_erroneous_name(name); + } } } -- 2.30.2