aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--gcc/go/gofrontend/expressions.cc12
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 21458cd..bcaabac 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-eac8b31fec761c8da0606a70ae0547ff0b12e8db
+01a574c1b2bb244be764b6a18aab980ca0aef43c
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/expressions.cc b/gcc/go/gofrontend/expressions.cc
index 488c76c..1c329b8 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -6885,11 +6885,6 @@ Builtin_call_expression::do_flatten(Gogo*, Named_object*,
Statement_inserter* inserter)
{
Location loc = this->location();
- if (this->is_erroneous_call())
- {
- go_assert(saw_errors());
- return Expression::make_error(loc);
- }
switch (this->code_)
{
@@ -8064,6 +8059,13 @@ Builtin_call_expression::do_get_backend(Translate_context* context)
{
Gogo* gogo = context->gogo();
Location location = this->location();
+
+ if (this->is_erroneous_call())
+ {
+ go_assert(saw_errors());
+ return gogo->backend()->error_expression();
+ }
+
switch (this->code_)
{
case BUILTIN_INVALID: