There is a constant designed to exercise the limits of a 64-bit
integer that causes an overflow when IVs are 32 bits. The warning
happens at compile time and we don't know yet that we will never
execute the 64-bit path at run time.
# not necessarily the ideal behavior, but that is what is happening.
if ($w == 64) {
no warnings "portable";
+ no warnings "overflow"; # prevent compile-time warning for ivsize=4
is(-1 << 1, 0xFFFF_FFFF_FFFF_FFFE,
"neg UV (sic) left shift = 0xFF..E");
is(-1 >> 1, 0x7FFF_FFFF_FFFF_FFFF,