Change 33877 by [EMAIL PROTECTED] on 2008/05/20 09:41:34

        
        Integrate:
        [ 33049]
        Fix the misplaced warnings and failing tests caused by the precision
        loss warning on ++ and -- by moving the check to Configure time,
        creating a new config.sh variable nv_overflows_integers_at which
        contains an constant expression for the value of the NV which can't
        be incremented by 1.0
        
        [ 33054]
        Oops, change 33049 really did need to update all the Win?? headers
        as the symbol isn't used in a conditional compile.
        
        [ 33055]
        Update uconfig.h to add USE_DTRACE back in.
        
        [ 33321]
        Resync with metaconfig. Escape the last ~.
        
        [ 33345]
        Sync win32/config.* with Porting/config.sh

Affected files ...

... //depot/maint-5.10/perl/Configure#7 integrate
... //depot/maint-5.10/perl/Cross/config.sh-arm-linux#4 integrate
... //depot/maint-5.10/perl/NetWare/config.wc#4 integrate
... //depot/maint-5.10/perl/Porting/Glossary#5 integrate
... //depot/maint-5.10/perl/Porting/config.sh#4 integrate
... //depot/maint-5.10/perl/Porting/config_H#4 integrate
... //depot/maint-5.10/perl/config_h.SH#5 integrate
... //depot/maint-5.10/perl/configure.com#6 integrate
... //depot/maint-5.10/perl/epoc/config.sh#4 integrate
... //depot/maint-5.10/perl/plan9/config_sh.sample#4 integrate
... //depot/maint-5.10/perl/symbian/config.sh#4 integrate
... //depot/maint-5.10/perl/uconfig.h#5 integrate
... //depot/maint-5.10/perl/uconfig.sh#5 integrate
... //depot/maint-5.10/perl/win32/config.bc#4 integrate
... //depot/maint-5.10/perl/win32/config.ce#4 integrate
... //depot/maint-5.10/perl/win32/config.gc#4 integrate
... //depot/maint-5.10/perl/win32/config.vc#4 integrate
... //depot/maint-5.10/perl/win32/config.vc64#4 integrate
... //depot/maint-5.10/perl/win32/config_H.bc#4 integrate
... //depot/maint-5.10/perl/win32/config_H.ce#4 integrate
... //depot/maint-5.10/perl/win32/config_H.gc#4 integrate
... //depot/maint-5.10/perl/win32/config_H.vc#4 integrate
... //depot/maint-5.10/perl/win32/config_H.vc64#4 integrate

Differences ...

==== //depot/maint-5.10/perl/Configure#7 (xtext) ====
Index: perl/Configure
--- perl/Configure#6~33875~     2008-05-20 01:32:47.000000000 -0700
+++ perl/Configure      2008-05-20 02:41:34.000000000 -0700
@@ -25,7 +25,7 @@
 
 # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
 #
-# Generated on Tue Jan 22 17:46:32 CET 2008 [metaconfig 3.0 PL70]
+# Generated on Fri Feb 15 17:37:37 CET 2008 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by [EMAIL PROTECTED])
 
 cat >c1$$ <<EOF
@@ -1057,6 +1057,7 @@
 i8type=''
 ivsize=''
 ivtype=''
+nv_overflows_integers_at=''
 nv_preserves_uv_bits=''
 nvsize=''
 nvtype=''
@@ -3591,7 +3592,7 @@
  \~/*|\~)
        echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
        ;;
- ~*)
+ \~*)
        if $test -f /bin/csh; then
                /bin/csh -f -c "glob \$1"
                failed=\$?
@@ -15470,6 +15471,89 @@
 esac
 $rm_try
 
+$echo "Checking to find the largest integer value your NVs can hold..." >&4
+: volatile so that the compiler has to store it out to memory.
+if test X"$d_volatile" = X"$define"; then
+       volatile=volatile
+fi
+$cat <<EOP >try.c
+#include <stdio.h>
+
+typedef $nvtype NV;
+
+int
+main() {
+  NV value = 2;
+  int count = 1;
+
+  while(count < 256) {
+    $volatile NV up = value + 1.0;
+    $volatile NV negated = -value;
+    $volatile NV down = negated - 1.0;
+    $volatile NV got_up = up - value;
+    int up_good = got_up == 1.0;
+    int got_down = down - negated;
+    int down_good = got_down == -1.0;
+
+    if (down_good != up_good) {
+      fprintf(stderr,
+             "Inconsistency - up %d %f; down %d %f; for 2**%d (%.20f)\n",
+             up_good, (double) got_up, down_good, (double) got_down,
+             count, (double) value);
+      return 1;
+    }
+    if (!up_good) {
+      while (1) {
+       if (count > 8) {
+         count -= 8;
+         fputs("256.0", stdout);
+       } else {
+         count--;
+         fputs("2.0", stdout);
+       }
+       if (!count) {
+         puts("");
+         return 0;
+       }
+       fputs("*", stdout);
+      }
+    }
+    value *= 2;
+    ++count;
+  }
+  fprintf(stderr, "Cannot overflow integer range, even at 2**%d (%.20f)\n",
+         count, (double) value);
+  return 1;
+}
+EOP
+set try
+
+nv_overflows_integers_at='0'
+if eval $compile; then
+    xxx="`$run ./try`"
+    case "$?" in
+       0)
+           case "$xxx" in
+               2*)  cat >&4 <<EOM
+The largest integer your NVs can preserve is equal to $xxx
+EOM
+                   nv_overflows_integers_at="$xxx"
+                   ;;
+               *)  cat >&4 <<EOM
+Cannot determine the largest integer value your NVs can hold, unexpected output
+'$xxx'
+EOM
+                   ;;
+           esac
+           ;;
+       *)  cat >&4 <<EOM
+Cannot determine the largest integer value your NVs can hold
+EOM
+           ;;
+    esac
+fi
+$rm_try
+
 $echo "Checking whether NV 0.0 is all bits zero in memory..." >&4
 : volatile so that the compiler has to store it out to memory.
 if test X"$d_volatile" = X"$define"; then
@@ -22422,6 +22506,7 @@
 nvEUformat='$nvEUformat'
 nvFUformat='$nvFUformat'
 nvGUformat='$nvGUformat'
+nv_overflows_integers_at='$nv_overflows_integers_at'
 nv_preserves_uv_bits='$nv_preserves_uv_bits'
 nveformat='$nveformat'
 nvfformat='$nvfformat'

==== //depot/maint-5.10/perl/Cross/config.sh-arm-linux#4 (text) ====
Index: perl/Cross/config.sh-arm-linux
--- perl/Cross/config.sh-arm-linux#3~33873~     2008-05-19 17:34:37.000000000 
-0700
+++ perl/Cross/config.sh-arm-linux      2008-05-20 02:41:34.000000000 -0700
@@ -808,6 +808,7 @@
 nvFUformat='"F"'
 nvGUformat='"G"'
 nv_preserves_uv_bits='32'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'

==== //depot/maint-5.10/perl/NetWare/config.wc#4 (text) ====
Index: perl/NetWare/config.wc
--- perl/NetWare/config.wc#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/NetWare/config.wc      2008-05-20 02:41:34.000000000 -0700
@@ -784,6 +784,7 @@
 nvFUformat='"F"'
 nvGUformat='"G"'
 nv_preserves_uv_bits='32'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'

==== //depot/maint-5.10/perl/Porting/Glossary#5 (text) ====
Index: perl/Porting/Glossary
--- perl/Porting/Glossary#4~33875~      2008-05-20 01:32:47.000000000 -0700
+++ perl/Porting/Glossary       2008-05-20 02:41:34.000000000 -0700
@@ -3795,6 +3795,11 @@
        full pathname (if any) of the nroff program.  After Configure runs,
        the value is reset to a plain "nroff" and is not useful.
 
+nv_overflows_integers_at (perlxv.U):
+       This variable gives the largest integer value that NVs can hold
+       as a constant floating point expression.
+       If it could not be determined, it holds the value 0.
+
 nv_preserves_uv_bits (perlxv.U):
        This variable indicates how many of bits type uvtype
        a variable nvtype can preserve.

==== //depot/maint-5.10/perl/Porting/config.sh#4 (text) ====
Index: perl/Porting/config.sh
--- perl/Porting/config.sh#3~33875~     2008-05-20 01:32:47.000000000 -0700
+++ perl/Porting/config.sh      2008-05-20 02:41:34.000000000 -0700
@@ -824,6 +824,7 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='53'
 nveformat='"e"'
 nvfformat='"f"'

==== //depot/maint-5.10/perl/Porting/config_H#4 (text) ====
Index: perl/Porting/config_H
--- perl/Porting/config_H#3~33875~      2008-05-20 01:32:47.000000000 -0700
+++ perl/Porting/config_H       2008-05-20 02:41:34.000000000 -0700
@@ -4271,6 +4271,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO:
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -4303,6 +4309,7 @@
 #define        NVSIZE          8               /**/
 #undef NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    53
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #define        NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER

==== //depot/maint-5.10/perl/config_h.SH#5 (text) ====
Index: perl/config_h.SH
--- perl/config_h.SH#4~33875~   2008-05-20 01:32:47.000000000 -0700
+++ perl/config_h.SH    2008-05-20 02:41:34.000000000 -0700
@@ -957,19 +957,16 @@
 #if $cpp_stuff == 1
 #define CAT2(a,b)      a/**/b
 #define STRINGIFY(a)   "a"
-               /* If you can get stringification with catify, tell me how! */
 #endif
 #if $cpp_stuff == 42
 #define PeRl_CaTiFy(a, b)      a ## b
 #define PeRl_StGiFy(a) #a
-/* the additional level of indirection enables these macros to be
- * used as arguments to other macros.  See K&R 2nd ed., page 231. */
 #define CAT2(a,b)      PeRl_CaTiFy(a,b)
 #define StGiFy(a)      PeRl_StGiFy(a)
 #define STRINGIFY(a)   PeRl_StGiFy(a)
 #endif
 #if $cpp_stuff != 1 && $cpp_stuff != 42
-#   include "Bletch: How does this C preprocessor concatenate tokens?"
+#include "Bletch: How does this C preprocessor concatenate tokens?"
 #endif
 
 /* CPPSTDIN:
@@ -4300,6 +4297,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT:
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO:
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -4332,6 +4335,7 @@
 #define        NVSIZE          $nvsize         /**/
 #$d_nv_preserves_uv    NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    $nv_preserves_uv_bits
+#define        NV_OVERFLOWS_INTEGERS_AT        $nv_overflows_integers_at
 #$d_nv_zero_is_allbits_zero    NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
@@ -4413,7 +4417,9 @@
  *     Usual values include _iob, __iob, and __sF.
  */
 #$d_stdio_stream_array HAS_STDIO_STREAM_ARRAY  /**/
+#ifdef HAS_STDIO_STREAM_ARRAY
 #define STDIO_STREAM_ARRAY     $stdio_stream_array
+#endif
 
 /* USE_64_BIT_INT:
  *     This symbol, if defined, indicates that 64-bit integers should

==== //depot/maint-5.10/perl/configure.com#6 (text) ====
Index: perl/configure.com
--- perl/configure.com#5~33873~ 2008-05-19 17:34:37.000000000 -0700
+++ perl/configure.com  2008-05-20 02:41:34.000000000 -0700
@@ -5917,6 +5917,8 @@
 $ WC "d_nice='define'"
 $ WC "d_nl_langinfo='" + d_nl_langinfo + "'"
 $ WC "d_nv_preserves_uv='" + d_nv_preserves_uv + "'"
+$! Pending integrating the probe test
+$ WC "nv_overflows_integers_at='0'"
 $ WC "nv_preserves_uv_bits='" + nv_preserves_uv_bits + "'"
 $ WC "d_nv_zero_is_allbits_zero='define'"
 $ WC "d_off64_t='" + d_off64_t + "'"

==== //depot/maint-5.10/perl/epoc/config.sh#4 (text) ====
Index: perl/epoc/config.sh
--- perl/epoc/config.sh#3~33873~        2008-05-19 17:34:37.000000000 -0700
+++ perl/epoc/config.sh 2008-05-20 02:41:34.000000000 -0700
@@ -970,6 +970,7 @@
 d_strtouq='undef'
 d_nv_preserves_uv='define'
 nv_preserves_uv_bits='32'
+nv_overflows_integers_at='0'
 useithreads='undef'
 inc_version_list=' '
 inc_version_list_init='0'

==== //depot/maint-5.10/perl/plan9/config_sh.sample#4 (text) ====
Index: perl/plan9/config_sh.sample
--- perl/plan9/config_sh.sample#3~33873~        2008-05-19 17:34:37.000000000 
-0700
+++ perl/plan9/config_sh.sample 2008-05-20 02:41:34.000000000 -0700
@@ -789,6 +789,7 @@
 nvFUformat='"F"'
 nvGUformat='"G"'
 nv_preserves_uv_bits='31'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'

==== //depot/maint-5.10/perl/symbian/config.sh#4 (text) ====
Index: perl/symbian/config.sh
--- perl/symbian/config.sh#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/symbian/config.sh      2008-05-20 02:41:34.000000000 -0700
@@ -661,6 +661,7 @@
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'

==== //depot/maint-5.10/perl/uconfig.h#5 (text+w) ====
Index: perl/uconfig.h
--- perl/uconfig.h#4~33875~     2008-05-20 01:32:47.000000000 -0700
+++ perl/uconfig.h      2008-05-20 02:41:34.000000000 -0700
@@ -4267,6 +4267,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO:
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -4299,6 +4305,7 @@
 #define        NVSIZE          8               /**/
 #undef NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    0
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #undef NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
@@ -4407,6 +4414,12 @@
 /*#define      USE_64_BIT_ALL          / **/
 #endif
 
+/* USE_DTRACE:
+ *     This symbol, if defined, indicates that Perl should
+ *     be built with support for DTrace.
+ */
+/*#define USE_DTRACE           / **/
+
 /* USE_FAST_STDIO:
  *     This symbol, if defined, indicates that Perl should
  *     be built to use 'fast stdio'.

==== //depot/maint-5.10/perl/uconfig.sh#5 (xtext) ====
Index: perl/uconfig.sh
--- perl/uconfig.sh#4~33875~    2008-05-20 01:32:47.000000000 -0700
+++ perl/uconfig.sh     2008-05-20 02:41:34.000000000 -0700
@@ -269,6 +269,7 @@
 d_nv_preserves_uv='undef'
 d_nv_zero_is_allbits_zero='undef'
 nv_preserves_uv_bits='0'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 d_off64_t='undef'
 d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'

==== //depot/maint-5.10/perl/win32/config.bc#4 (text) ====
Index: perl/win32/config.bc
--- perl/win32/config.bc#3~33873~       2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config.bc        2008-05-20 02:41:34.000000000 -0700
@@ -801,6 +801,7 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'

==== //depot/maint-5.10/perl/win32/config.ce#4 (text) ====
Index: perl/win32/config.ce
--- perl/win32/config.ce#3~33873~       2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config.ce        2008-05-20 02:41:34.000000000 -0700
@@ -775,6 +775,7 @@
 nonxs_ext='Errno'
 nroff=''
 nv_preserves_uv_bits='32'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'

==== //depot/maint-5.10/perl/win32/config.gc#4 (text) ====
Index: perl/win32/config.gc
--- perl/win32/config.gc#3~33873~       2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config.gc        2008-05-20 02:41:34.000000000 -0700
@@ -801,6 +801,7 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'

==== //depot/maint-5.10/perl/win32/config.vc#4 (text) ====
Index: perl/win32/config.vc
--- perl/win32/config.vc#3~33873~       2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config.vc        2008-05-20 02:41:34.000000000 -0700
@@ -801,6 +801,7 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='32'
 nveformat='"e"'
 nvfformat='"f"'

==== //depot/maint-5.10/perl/win32/config.vc64#4 (text) ====
Index: perl/win32/config.vc64
--- perl/win32/config.vc64#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config.vc64      2008-05-20 02:41:34.000000000 -0700
@@ -801,6 +801,7 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='53'
 nveformat='"e"'
 nvfformat='"f"'

==== //depot/maint-5.10/perl/win32/config_H.bc#4 (text+w) ====
Index: perl/win32/config_H.bc
--- perl/win32/config_H.bc#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config_H.bc      2008-05-20 02:41:34.000000000 -0700
@@ -3920,6 +3920,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -3952,6 +3958,7 @@
 #define        NVSIZE          8               /**/
 #define        NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    32
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #define NV_ZERO_IS_ALLBITS_ZERO
 #if 4 == 8
 #   ifdef BYTEORDER

==== //depot/maint-5.10/perl/win32/config_H.ce#4 (text) ====
Index: perl/win32/config_H.ce
--- perl/win32/config_H.ce#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config_H.ce      2008-05-20 02:41:34.000000000 -0700
@@ -3248,7 +3248,13 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
-/* NV_ZERO_IS_ALLBITS_ZERO:
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
+/* NV_ZERO_IS_ALLBITS_ZERO
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
  */
@@ -3280,6 +3286,7 @@
 #define        NVSIZE          8               /**/
 #define        NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    undef
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #undef NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER

==== //depot/maint-5.10/perl/win32/config_H.gc#4 (text+w) ====
Index: perl/win32/config_H.gc
--- perl/win32/config_H.gc#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config_H.gc      2008-05-20 02:41:34.000000000 -0700
@@ -3945,6 +3945,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -3982,6 +3988,7 @@
 #define        NVSIZE          8               /**/
 #define        NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    32
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #define NV_ZERO_IS_ALLBITS_ZERO
 #if 4 == 8
 #   ifdef BYTEORDER

==== //depot/maint-5.10/perl/win32/config_H.vc#4 (text+w) ====
Index: perl/win32/config_H.vc
--- perl/win32/config_H.vc#3~33873~     2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config_H.vc      2008-05-20 02:41:34.000000000 -0700
@@ -3941,6 +3941,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -3978,6 +3984,7 @@
 #define        NVSIZE          8               /**/
 #define        NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    32
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #define NV_ZERO_IS_ALLBITS_ZERO
 #if 4 == 8
 #   ifdef BYTEORDER

==== //depot/maint-5.10/perl/win32/config_H.vc64#4 (text) ====
Index: perl/win32/config_H.vc64
--- perl/win32/config_H.vc64#3~33873~   2008-05-19 17:34:37.000000000 -0700
+++ perl/win32/config_H.vc64    2008-05-20 02:41:34.000000000 -0700
@@ -3920,6 +3920,12 @@
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
 /* NV_ZERO_IS_ALLBITS_ZERO
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
@@ -3952,6 +3958,7 @@
 #define        NVSIZE          8               /**/
 #undef NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    53
+#define        NV_OVERFLOWS_INTEGERS_AT        
256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #define NV_ZERO_IS_ALLBITS_ZERO
 #if 8 == 8
 #   ifdef BYTEORDER
End of Patch.

Reply via email to