diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2015-09-10 10:59:56 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2015-09-10 10:59:56 (GMT) |
commit | 982ec313d61fda25b3eb27f2c3193f7ca5201a31 (patch) | |
tree | 3c87bb67838825123a5f61ac52903e29f11acae7 /configure | |
parent | f1c17f305426190dc7027bc63fcb4d28b90ba89d (diff) | |
download | hdf5-982ec313d61fda25b3eb27f2c3193f7ca5201a31.zip hdf5-982ec313d61fda25b3eb27f2c3193f7ca5201a31.tar.gz hdf5-982ec313d61fda25b3eb27f2c3193f7ca5201a31.tar.bz2 |
[svn-r27742] Merge of r26623 from the trunk
Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around
bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers.
Tested on: jam (minor change that has baked in the trunk for months)
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 92 |
1 files changed, 1 insertions, 91 deletions
@@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Id: configure.ac 27738 2015-09-10 04:20:13Z derobins . +# From configure.ac Id: configure.ac 27741 2015-09-10 10:38:47Z derobins . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for HDF5 1.8.16-snap16. # @@ -27471,96 +27471,6 @@ fi ## ---------------------------------------------------------------------- ## Set the flag to indicate that the machine can accurately convert -## 'long double' to '(unsigned) long long' values. (This flag should be set for -## all machines, except for Mac OS 10.4 and SGI IRIX64 6.5. When the bit sequence -## of long double is 0x4351ccf385ebc8a0bfcc2a3c..., the values of (unsigned)long long -## start to go wrong on these two machines. Adjusting it higher to -## 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted -## values wildly wrong. This test detects this wrong behavior and disable the test. -## -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if correctly converting long double to (unsigned) long long values" >&5 -$as_echo_n "checking if correctly converting long double to (unsigned) long long values... " >&6; } - -if test ${ac_cv_sizeof_long_double} = 0; then - hdf5_cv_ldouble_to_llong_accurate=${hdf5_cv_ldouble_to_llong_accurate=no} -else - if ${hdf5_cv_ldouble_to_llong_accurate+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run test program while cross compiling -See \`config.log' for more details" "$LINENO" 5; } -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - int main(void) - { - long double ld = 20041683600089727.779961L; - long long ll; - unsigned long long ull; - unsigned char s[16]; - int ret = 0; - - if(sizeof(long double) == 16) { - /*make sure the long double type is the same as the failing type - *which has 16 bytes in size and 11 bits of exponent. If it is, - *the bit sequence should be like below. It's not - *a decent way to check but this info isn't available. */ - memcpy(s, &ld, 16); - if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 && - s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 && - s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) { - - /*slightly adjust the bit sequence (s[8]=0xdf). The converted - *values will go wild on Mac OS 10.4 and IRIX64 6.5.*/ - s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3; - s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0; - s[8]=0xdf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c; - s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20; - - memcpy(&ld, s, 16); - ll = (long long)ld; - ull = (unsigned long long)ld; - - if(ll != 20041683600089728 || ull != 20041683600089728) - ret = 1; - } - } - done: - exit(ret); - } - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - hdf5_cv_ldouble_to_llong_accurate=yes -else - hdf5_cv_ldouble_to_llong_accurate=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi - -fi - -if test ${hdf5_cv_ldouble_to_llong_accurate} = "yes"; then - -$as_echo "#define LDOUBLE_TO_LLONG_ACCURATE 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -## ---------------------------------------------------------------------- -## Set the flag to indicate that the machine can accurately convert ## '(unsigned) long long' to 'long double' values. (This flag should be set for ## all machines, except for Mac OS 10.4, when the bit sequences are 003fff..., ## 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice |