X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Finteger.t;h=c1bb4d04cf2d7d9f6bfea40455543846d0cb7361;hb=c812d14677001807a06200e23fed431e7ac774bb;hp=946103d8d1106d9a98e60c37239508b0d8f5e49a;hpb=88587957d5515b280bc1becf23e9f6520d5dce08;p=p5sagit%2Fp5-mst-13.2.git 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'); +}