This patch from Chris Manghane fixes the Go frontend error reporting
for invalid builtin calls, by not losing track of whether the call is
erroneous.  This fixes https://golang.org/issue/11561.  Bootstrapped
and ran Go testsuite on x86_64-unknown-linux-gnu.  Committed to
mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 226456)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-bc4dda16f8686ab6e7335adfdfd2c6cc81cb2eb5
+2bf7c643a1d2f8503070c8e6cb87852026e32400
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: gcc/go/gofrontend/expressions.cc
===================================================================
--- gcc/go/gofrontend/expressions.cc    (revision 226122)
+++ gcc/go/gofrontend/expressions.cc    (working copy)
@@ -8499,7 +8499,8 @@ Call_expression::do_lower(Gogo* gogo, Na
     {
       if (!this->fn_->type()->is_error())
        this->report_error(_("expected function"));
-      return Expression::make_error(loc);
+      this->set_is_error();
+      return this;
     }
 
   // Handle an argument which is a call to a function which returns

Reply via email to