]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/compile: adjust types2 shift check to match go/types (cleanup)
authorRobert Griesemer <gri@golang.org>
Sat, 2 Apr 2022 00:02:28 +0000 (17:02 -0700)
committerRobert Griesemer <gri@golang.org>
Thu, 7 Apr 2022 17:19:55 +0000 (17:19 +0000)
commitc0bbeb0982403db17bacb1533776fb638cb449ae
treecc1734f83baf56074f35a8210a0b54c5a7857417
parent063f4032f5ea8820d265ee1196ef9b8eba02c63f
cmd/compile: adjust types2 shift check to match go/types (cleanup)

With this change, the shift checking code matches the corresponding
go/types code, but for the differences in the internal error reporting,
and call of check.overflow.

The change leads to the recording of an untyped int value if the RHS
of a non-constant shift is an untyped integer value. Adjust the type
in the compiler's irgen accordingly. Add test/shift3.go to verify
behavior.

Change-Id: I20386fcb1d5c48becffdc2203081fb70c08b282d
Reviewed-on: https://go-review.googlesource.com/c/go/+/398236
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
Trust: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
src/cmd/compile/internal/noder/expr.go
src/cmd/compile/internal/types2/api_test.go
src/cmd/compile/internal/types2/expr.go
src/cmd/compile/internal/types2/testdata/fixedbugs/issue52031.go [new file with mode: 0644]
test/shift3.go [new file with mode: 0644]