aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2020-12-05 18:42:30 -0800
committerIan Lance Taylor <iant@golang.org>2020-12-07 09:44:18 -0800
commitc3a1b3e6fb24ccf6f45e7d6ce904d5549bba01d6 (patch)
tree2676c757088d56745e0de9668d6f99c55c6c9e1b /gcc/go/gofrontend/expressions.cc
parent7482d5a3acb7a8a5564f5cddc4f9d2ebbaea75e4 (diff)
downloadgcc-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.cc4
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();