diff options
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/types.cc | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index a1ccb2b..a63d921 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -4e063a8eee636cce17aea48c7183e78431174de3 +de7b370901c4fc6852eaa7372282bb699429ec4a 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/types.cc b/gcc/go/gofrontend/types.cc index e91922c..a00b80a 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -7638,6 +7638,11 @@ Array_type::get_backend_length(Gogo* gogo) go_assert(this->length_ != NULL); if (this->blength_ == NULL) { + if (this->length_->is_error_expression()) + { + this->blength_ = gogo->backend()->error_expression(); + return this->blength_; + } Numeric_constant nc; mpz_t val; if (this->length_->numeric_constant_value(&nc) && nc.to_int(&val)) |