Use Int128 and UInt128 literals for compiler_rt specs#11944
Use Int128 and UInt128 literals for compiler_rt specs#11944lbguilherme wants to merge 2 commits intocrystal-lang:masterfrom
Conversation
|
I don't think anything in the standard library can use 128-bit literals as long as we have CI using 1.0.0 as the base compiler. |
|
This is similar to #5545 which we can't merge unless ensuring compatibility with Crystal 1.0 (see #5545 (comment)). |
|
As these are only spec changes, I thought this wasn't an issue. But this PR can sit waiting for a while I guess, I see multiple CI failures. |
| test__divti3(make_ti(-9223372036854775808, 0x0), -1, make_ti(-9223372036854775808, 0x0)) | ||
| test__divti3(make_ti(-9223372036854775808, 0x0), -2, make_ti(0x4000000000000000, 0x0)) | ||
| test__divti3(make_ti(-9223372036854775808, 0x0), 2, make_ti(-0x4000000000000000, 0x0)) | ||
| test__divti3(0x80000000000000000000000000000000_u128.to_i128!, 1, 0x80000000000000000000000000000000_u128.to_i128!) |
There was a problem hiding this comment.
Why 0x80000000000000000000000000000000_u128.to_i128! and not -0x80000000000000000000000000000000_i128
|
Marking as draft because we probably won't merge this in the near future (see #5545 (comment)). |
This fixes a TODO to remove
make_tiandmake_tuonce 128-bit literals are supported.