This has apparently been wrong since I introduced the code ten years ago.
Fixes PR go/114500
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/574835
-3f597287b6b858794dabdfe1bf83b386aad18102
+98e92493db2ab7857a5934a950a830fc1f95a4e5
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
Named_type* ntype = Type::lookup_integer_type("int");
Integer_type* inttype = ntype->integer_type();
- if (sizeof(index) <= static_cast<size_t>(inttype->bits() * 8)
+ if (sizeof(index) >= static_cast<size_t>(inttype->bits() / 8)
&& index >> (inttype->bits() - 1) != 0)
{
go_error_at(index_expr->location(), "index value overflow");