diff options
author | Ian Lance Taylor <iant@golang.org> | 2023-06-21 14:27:02 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2023-06-21 17:52:47 -0700 |
commit | cb760f66e0b29f09af5cfa0cd6aebc02aaaa0f7f (patch) | |
tree | 9e3da9854543e9ba5ac40aa6f876f1826299acfe /gcc/go | |
parent | 80e9ca0e36cc3ec1153c16764fa922875750c17a (diff) | |
download | gcc-cb760f66e0b29f09af5cfa0cd6aebc02aaaa0f7f.zip gcc-cb760f66e0b29f09af5cfa0cd6aebc02aaaa0f7f.tar.gz gcc-cb760f66e0b29f09af5cfa0cd6aebc02aaaa0f7f.tar.bz2 |
compiler: determine types of Slice_{value,info} expressions
This fixes an accidental omission in the determine types pass.
Test case is https://go.dev/cl/505015.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/504797
Diffstat (limited to 'gcc/go')
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 10 | ||||
-rw-r--r-- | gcc/go/gofrontend/expressions.h | 5 |
3 files changed, 13 insertions, 4 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index dbb2d68..a028350 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -6a1d165c2218cd127ee937a1f45599075762f716 +195060166e6045408a2cb95e6aa88c6f0b98f20b 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 4ac55af..2112de6 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -18307,6 +18307,16 @@ Slice_value_expression::do_traverse(Traverse* traverse) return TRAVERSE_CONTINUE; } +// Determine type of a slice value. + +void +Slice_value_expression::do_determine_type(const Type_context*) +{ + this->valmem_->determine_type_no_context(); + this->len_->determine_type_no_context(); + this->cap_->determine_type_no_context(); +} + Expression* Slice_value_expression::do_copy() { diff --git a/gcc/go/gofrontend/expressions.h b/gcc/go/gofrontend/expressions.h index 3d7e787..bdb7ccd 100644 --- a/gcc/go/gofrontend/expressions.h +++ b/gcc/go/gofrontend/expressions.h @@ -4364,8 +4364,7 @@ class Slice_value_expression : public Expression { return this->type_; } void - do_determine_type(const Type_context*) - { } + do_determine_type(const Type_context*); Expression* do_copy(); @@ -4419,7 +4418,7 @@ class Slice_info_expression : public Expression void do_determine_type(const Type_context*) - { } + { this->slice_->determine_type_no_context(); } Expression* do_copy() |