diff options
-rw-r--r-- | t/pragma/warn/toke | 12 | ||||
-rw-r--r-- | t/pragma/warn/util | 4 | ||||
-rw-r--r-- | toke.c | 2 | ||||
-rw-r--r-- | util.c | 6 |
4 files changed, 12 insertions, 12 deletions
diff --git a/t/pragma/warn/toke b/t/pragma/warn/toke index 182cc1728c..ee02efa813 100644 --- a/t/pragma/warn/toke +++ b/t/pragma/warn/toke @@ -588,23 +588,23 @@ Octal number > 037777777777 non-portable at - line 11. use warnings 'overflow' ; my $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; - $a = 0b111111111111111111111111111111111 ; + $a = 0b10000000000000000000000000000000000000000000000000000000000000000 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; - $a = 0x1ffffffff ; + $a = 0x10000000000000000 ; $a = 0037777777776 ; $a = 0037777777777 ; - $a = 0047777777777 ; + $a = 002000000000000000000000; no warnings 'overflow' ; $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; - $a = 0b111111111111111111111111111111111 ; + $a = 0b10000000000000000000000000000000000000000000000000000000000000000 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; - $a = 0x1ffffffff ; + $a = 0x10000000000000000 ; $a = 0037777777776 ; $a = 0037777777777 ; - $a = 0047777777777 ; + $a = 002000000000000000000000; EXPECT Integer overflow in binary number at - line 5. Integer overflow in hexadecimal number at - line 8. diff --git a/t/pragma/warn/util b/t/pragma/warn/util index 6d82d133b8..6c9bc8c696 100644 --- a/t/pragma/warn/util +++ b/t/pragma/warn/util @@ -49,9 +49,9 @@ Illegal binary digit '9' ignored at - line 3. ######## # util.c use warnings 'overflow' ; -my $a = oct "0b111111111111111111111111111111111111111111" ; +my $a = oct "0b11111111111111111111111111111111111111111111111111111111111111111"; no warnings 'overflow' ; -$a = oct "0b111111111111111111111111111111111111111111" ; +$a = oct "0b11111111111111111111111111111111111111111111111111111111111111111"; EXPECT Integer overflow in binary number at - line 3. ######## @@ -6619,7 +6619,7 @@ Perl_scan_num(pTHX_ char *start) sv_setnv(sv, n); } else { -#if UV_SIZEOF > 4 +#if UVSIZE > 4 dTHR; if (ckWARN(WARN_PORTABLE) && u > 0xffffffff) Perl_warner(aTHX_ WARN_PORTABLE, @@ -2829,7 +2829,7 @@ Perl_scan_bin(pTHX_ char *start, I32 len, I32 *retlen) if (!overflowed) rnv = (NV) ruv; if ( ( overflowed && rnv > 4294967295.0) -#if UV_SIZEOF > 4 +#if UVSIZE > 4 || (!overflowed && ruv > 0xffffffff ) #endif ) { @@ -2894,7 +2894,7 @@ Perl_scan_oct(pTHX_ char *start, I32 len, I32 *retlen) if (!overflowed) rnv = (NV) ruv; if ( ( overflowed && rnv > 4294967295.0) -#if UV_SIZEOF > 4 +#if UVSIZE > 4 || (!overflowed && ruv > 0xffffffff ) #endif ) { @@ -2962,7 +2962,7 @@ Perl_scan_hex(pTHX_ char *start, I32 len, I32 *retlen) if (!overflowed) rnv = (NV) ruv; if ( ( overflowed && rnv > 4294967295.0) -#if UV_SIZEOF > 4 +#if UVSIZE > 4 || (!overflowed && ruv > 0xffffffff ) #endif ) { |