diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-01-23 09:18:41 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-01-23 09:18:41 +0000 |
commit | b68c599a1231c4d11ec0b0a667ce0c407c357eab (patch) | |
tree | d5ae12e45397be6d6266d7a947752951af4a968f /Porting/config_H | |
parent | d2aeed1648166d254ac68525c35b77dec4ba8772 (diff) | |
download | perl-b68c599a1231c4d11ec0b0a667ce0c407c357eab.tar.gz |
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
p4raw-id: //depot/perl@33049
Diffstat (limited to 'Porting/config_H')
-rw-r--r-- | Porting/config_H | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Porting/config_H b/Porting/config_H index 2540a14d8e..f74dc6714d 100644 --- a/Porting/config_H +++ b/Porting/config_H @@ -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 |