aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2015-09-15 23:12:03 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2015-09-15 23:12:03 +0000
commit4ed054aee9a315bedf05697c3ef3c37043d12fad (patch)
treef7c33e6474f324106342885a4cadf4647f3fdc54
parenta2bf11d16a01ced5d2bd0500a6896627b7bed076 (diff)
downloadgcc-4ed054aee9a315bedf05697c3ef3c37043d12fad.zip
gcc-4ed054aee9a315bedf05697c3ef3c37043d12fad.tar.gz
gcc-4ed054aee9a315bedf05697c3ef3c37043d12fad.tar.bz2
compiler: Report init dependency errors with builtin functions.
Fixes golang/go#12319. Reviewed-on: https://go-review.googlesource.com/13931 From-SVN: r227813
-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: