X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/88587957d5515b280bc1becf23e9f6520d5dce08..b76b0bf9b926e6a5504a59a935a232eb91d44437:/lib/integer.t diff --git a/lib/integer.t b/lib/integer.t index 946103d..c1bb4d0 100644 --- a/lib/integer.t +++ b/lib/integer.t @@ -7,7 +7,7 @@ BEGIN { use integer; -use Test::More tests => 11; +use Test::More tests => 15; use Config; my $x = 4.5; @@ -51,3 +51,19 @@ SKIP: { } is(~0, -1, "signed instead of unsigned"); + +# [perl #38485] use integer; 0x80000000/-1; +SKIP: { + my $ivsize = $Config{ivsize}; + skip "ivsize == $ivsize", 4 unless $ivsize == 4 || $ivsize == 8; + + my $iv_min = $ivsize == 4 ? -2147483648 : -9223372036854775808; + my $biff; + eval { $biff = $iv_min / -1 }; + is($@, '', 'IV_MIN / -1 succeeds'); + is($biff, -$iv_min, 'IV_MIN / -1 == -IV_MIN'); + + eval { $biff = $iv_min % -1 }; + is($@, '', 'IV_MIN % -1 succeeds'); + is($biff, 0, 'IV_MIN % -1 == 0'); +}