From: ian Date: Tue, 15 Sep 2015 23:12:03 +0000 (+0000) Subject: compiler: Report init dependency errors with builtin functions. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a0d8874eac2d7029f389f79af35f0df2e10fed5d;p=thirdparty%2Fgcc.git compiler: Report init dependency errors with builtin functions. Fixes golang/go#12319. Reviewed-on: https://go-review.googlesource.com/13931 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227813 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 21458cde569e..bcaabac4b9cf 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 488c76ca6bc9..1c329b83050c 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: