New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmd/compile: internal error on complex comparison #32723
Comments
Not a regression from 1.12. So adding to 1.14. And seems to happen only while directly comparing literals. If I compare complex variables, I get the correct error. |
Change https://golang.org/cl/183459 mentions this issue: |
|
Complex type is the only TIDEAL that lack of support for all comparison operators. When rewriting constant comparison into literal node, that missing cause compiler raise an internal error. Checking the operator is available for complex type before that fix the problem. We can make this check works more generally if there's more type lack of supporting all comparison operators added, but it does not seem to be happened, so just check explicitly for complex only. Fixes golang#32723 Change-Id: I4938b1bdcbcdae9a9d87436024984bd2ab12995e Reviewed-on: https://go-review.googlesource.com/c/go/+/183459 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Complex type is the only TIDEAL that lack of support for all comparison operators. When rewriting constant comparison into literal node, that missing cause compiler raise an internal error. Checking the operator is available for complex type before that fix the problem. We can make this check works more generally if there's more type lack of supporting all comparison operators added, but it does not seem to be happened, so just check explicitly for complex only. Fixes golang#32723 Change-Id: I4938b1bdcbcdae9a9d87436024984bd2ab12995e Reviewed-on: https://go-review.googlesource.com/c/go/+/183459 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes.
What did you do?
_ = 1i < 2i
https://play.golang.org/p/syOtlxxmrya
What did you expect to see?
invalid operation: 1i < 2i (operator < not defined on complex128)
What did you see instead?
internal compiler error: compareOp: bad comparison: 1i < 2i
The text was updated successfully, but these errors were encountered: