Fix UV_SIZEOF to UVSIZE; change the overflow tests
Jarkko Hietaniemi [Mon, 6 Sep 1999 20:33:43 +0000 (20:33 +0000)]
so that they overflow also on 64-bit platforms.

p4raw-id: //depot/cfgperl@4093

t/pragma/warn/toke
t/pragma/warn/util
toke.c
util.c

index 182cc17..ee02efa 100644 (file)
@@ -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.
index 6d82d13..6c9bc8c 100644 (file)
@@ -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.
 ########
diff --git a/toke.c b/toke.c
index 354b1d4..df965a3 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -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,
diff --git a/util.c b/util.c
index 51d7575..628b956 100644 (file)
--- a/util.c
+++ b/util.c
@@ -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
        ) {