diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-09-15 23:12:03 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-09-15 23:12:03 +0000 |
commit | 4ed054aee9a315bedf05697c3ef3c37043d12fad (patch) | |
tree | f7c33e6474f324106342885a4cadf4647f3fdc54 | |
parent | a2bf11d16a01ced5d2bd0500a6896627b7bed076 (diff) | |
download | gcc-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/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 12 |
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: |