diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-12-05 18:42:30 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-12-07 09:44:18 -0800 |
commit | c3a1b3e6fb24ccf6f45e7d6ce904d5549bba01d6 (patch) | |
tree | 2676c757088d56745e0de9668d6f99c55c6c9e1b /gcc/go/gofrontend/expressions.cc | |
parent | 7482d5a3acb7a8a5564f5cddc4f9d2ebbaea75e4 (diff) | |
download | gcc-c3a1b3e6fb24ccf6f45e7d6ce904d5549bba01d6.zip gcc-c3a1b3e6fb24ccf6f45e7d6ce904d5549bba01d6.tar.gz gcc-c3a1b3e6fb24ccf6f45e7d6ce904d5549bba01d6.tar.bz2 |
compiler: type of string index expression is byte
To make this work from the do_type method, add "byte" and "rune" to
the list of known integer types, and look them up that way rather than
via gogo->lookup_global.
For golang/go#8745
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/275653
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index ebe1b36..6d484d9 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -13468,7 +13468,7 @@ Type* String_index_expression::do_type() { if (this->end_ == NULL) - return Type::lookup_integer_type("uint8"); + return Type::lookup_integer_type("byte"); else return this->string_->type(); } @@ -14021,7 +14021,7 @@ Field_reference_expression::do_lower(Gogo* gogo, Named_object* function, Expression* length_expr = Expression::make_integer_ul(s.length(), NULL, loc); - Type* byte_type = gogo->lookup_global("byte")->type_value(); + Type* byte_type = Type::lookup_integer_type("byte"); Array_type* array_type = Type::make_array_type(byte_type, length_expr); array_type->set_is_array_incomparable(); |