Version
110.99.4 (Latest)
Operating System
OS Version
No response
Processor
System Component
Core system
Severity
Major
Description
The word literal 0wx80000000 is converted to 0wx7FFFFFFF80000000 by the compiler. This issue also affects expressions that can be compile-time evaluated to 0wx80000000 (e.g., Word.<<(0w1, 0w31)).
Transcript
Standard ML of New Jersey (64-bit) v110.99.4 [built: Tue Aug 01 16:07:38 2023]
- 0wx80000000;
val it = 0wx7FFFFFFF80000000 : word
- Word.<<(0w1, 0w31);
val it = 0wx7FFFFFFF80000000 : word
- fun lsh1 n = Word.<<(0w1, n);
val lsh1 = fn : word -> word
- lsh1 0w31;
val it = 0wx80000000 : word
-
Expected Behavior
- 0wx80000000;
val it = 0wx80000000 : word
Steps to Reproduce
See above transcript.
Additional Information
I have isolated the problem to an off-by-one error in the CPS/main/new-literals.sml file and will push a fix.
Email address
jhr@cs.uchicago.edu
Version
110.99.4 (Latest)
Operating System
OS Version
No response
Processor
System Component
Core system
Severity
Major
Description
The word literal
0wx80000000is converted to0wx7FFFFFFF80000000by the compiler. This issue also affects expressions that can be compile-time evaluated to0wx80000000(e.g.,Word.<<(0w1, 0w31)).Transcript
Expected Behavior
Steps to Reproduce
See above transcript.
Additional Information
I have isolated the problem to an off-by-one error in the
CPS/main/new-literals.smlfile and will push a fix.Email address
jhr@cs.uchicago.edu