diff options
author | Ian Lance Taylor <iant@golang.org> | 2022-07-03 14:37:23 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2022-07-05 17:11:05 -0700 |
commit | c70a48a8f8f6a43b35f783b5672c9a3c0a363c31 (patch) | |
tree | c51ac04b3992234f5f135371b95e750896ae8bd5 /gcc/go/gofrontend/expressions.cc | |
parent | ccc39d9e97ce24623aefae2097bff791e01619d9 (diff) | |
download | gcc-c70a48a8f8f6a43b35f783b5672c9a3c0a363c31.zip gcc-c70a48a8f8f6a43b35f783b5672c9a3c0a363c31.tar.gz gcc-c70a48a8f8f6a43b35f783b5672c9a3c0a363c31.tar.bz2 |
compiler: propagate array length error marker farther
Fixes golang/go#53639
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/415936
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 00d35a9..2492d9f 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -8486,6 +8486,11 @@ Builtin_call_expression::do_flatten(Gogo* gogo, Named_object* function, pa != this->args()->end(); ++pa) { + if ((*pa)->is_error_expression()) + { + go_assert(saw_errors()); + return Expression::make_error(loc); + } if ((*pa)->is_nil_expression()) { Expression* nil = Expression::make_nil(loc); @@ -13391,6 +13396,7 @@ Array_index_expression::do_check_types(Gogo*) if (array_type == NULL) { go_assert(this->array_->type()->is_error()); + this->set_is_error(); return; } |