-
Notifications
You must be signed in to change notification settings - Fork 3k
[erlc] internal error in pass beam_validator_strong #7147
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
Comments
commit 039c5de< 8000 /tt> (from #7157) changes the error message to:
|
bjorng
added a commit
to bjorng/otp
that referenced
this issue
Apr 25, 2023
Issue erlang#7147 uncovered two bugs in the compiler. The first one is in the swapping of operands for commutative operands that the compiler would do to simplify for the JIT. When the operands were swapped, types for the operands in the annotation would not be updated. The second one is `beam_validator`, that assumed that if the binary construction `<<F/float>>` succeeded, then `F` must be a float. That is not correct, because `F` could also be an integer. Closes erlang#7147
bjorng
added a commit
to bjorng/otp
that referenced
this issue
Apr 25, 2023
Issue erlang#7147 uncovered two bugs in the compiler. The first one is in the swapping of operands for commutative operands that the compiler would do to simplify for the JIT. When the operands were swapped, types for the operands in the annotation would not be updated. The second one is `beam_validator`, that assumed that if the binary construction `<<F/float>>` succeeded, then `F` must be a float. That is not correct, because `F` could also be an integer. Closes erlang#7147
bjorng
added a commit
to bjorng/otp
that referenced
this issue
Apr 25, 2023
Issue erlang#7147 uncovered two bugs in the compiler. The first one is in the swapping of operands for commutative operands, which the compiler does to simplify for the JIT. When the operands were swapped, types for the operands in the annotation were not updated. The second one is in `beam_validator`, which assumed that if the binary construction `<<F/float>>` succeeded, then `F` must be a float. That is not correct, because `F` could also be an integer. Closes erlang#7147
bjorng
added a commit
to bjorng/otp
that referenced
this issue
Apr 25, 2023
Issue erlang#7147 uncovered two bugs in the compiler. The first one is in the swapping of operands for commutative operands, which the compiler does to simplify for the JIT. When the operands were swapped, types for the operands in the annotation were not updated. The second one is in `beam_validator`, which assumed that if the binary construction `<<F/float>>` succeeded, then `F` must be a float. That is not correct, because `F` could also be an integer. Closes erlang#7147
The linked pull request fixes the bugs for OTP 26. The fix will also be released in a patch for OTP 25. |
bjorng
added a commit
to bjorng/otp
that referenced
this issue
Apr 25, 2023
Issue erlang#7147 uncovered two bugs in the compiler. The first one is in the swapping of operands for commutative operands, that the compiler does to simplify for the JIT. When the operands were swapped, types for the operands in the annotation was not updated. The second one is in `beam_validator`, which assumed that if the binary construction `<<F/float>>` succeeded, then `F` must be a float. That is not correct, because `F` could also be an integer. Closes erlang#7147
bjorng
added a commit
that referenced
this issue
Apr 26, 2023
…H-7147/OTP-18565 Fix two type-related bugs
bjorng
added a commit
that referenced
this issue
May 2, 2023
Issue #7147 uncovered two bugs in the compiler. The first one is in the swapping of operands for commutative operands, that the compiler does to simplify for the JIT. When the operands were swapped, types for the operands in the annotation were not updated. The second one is in `beam_validator`, which assumed that if the binary construction `<<F/float>>` succeeded, then `F` must be a float. That is not correct, because `F` could also be an integer. Closes #7147
bjorng
added a commit
that referenced
this issue
May 2, 2023
…o maint * bjorn/compiler/beam_validator/25/GH-7147/OTP-18565: Fix two type-related bugs
sverker
pushed a commit
that referenced
this issue
May 5, 2023
…o maint-25 * bjorn/compiler/beam_validator/25/GH-7147/OTP-18565: Fix two type-related bugs
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Running erlc on the following:
results in the following error message:
Affected versions
master
The text was updated successfully, but these errors were encountered: