diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2015-03-27 20:50:44 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2015-03-27 20:50:44 (GMT) |
commit | c2472b4d006b6d036ec9e037fa5c677f71e9ac25 (patch) | |
tree | 76add37163afca6cdc73a6339d9ef3d27550078b /configure.ac | |
parent | 79f59eaf4dcf7a958881936d645c5c1a47484cd9 (diff) | |
download | hdf5-c2472b4d006b6d036ec9e037fa5c677f71e9ac25.zip hdf5-c2472b4d006b6d036ec9e037fa5c677f71e9ac25.tar.gz hdf5-c2472b4d006b6d036ec9e037fa5c677f71e9ac25.tar.bz2 |
[svn-r26625] Description:
Bring r26543 from autotools_rework branch to trunk:
Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around
bugs in very old SGI/FreeBSD/Windows compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/configure.ac b/configure.ac index 91bad1d..bba80ff 100644 --- a/configure.ac +++ b/configure.ac @@ -2701,71 +2701,6 @@ else 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 -## as big as they should be. -## -AC_MSG_CHECKING([if correctly converting (unsigned) long long to long double values]) - -if test ${ac_cv_sizeof_long_double} = 0; then - hdf5_cv_llong_to_ldouble_correct=${hdf5_cv_llong_to_ldouble_correct=no} -else - AC_CACHE_VAL([hdf5_cv_llong_to_ldouble_correct], - [AC_TRY_RUN([ - int main(void) - { - long double ld; - long long ll; - unsigned long long ull; - unsigned char s[16]; - int flag=0, ret=0; - - /*Determine if long double has 16 byte in size, 11 bit exponent, and - *the bias is 0x3ff */ - if(sizeof(long double) == 16) { - ld = 1.0L; - memcpy(s, &ld, 16); - if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 && - s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00) - flag = 1; - } - - if(flag==1 && sizeof(long long)==8) { - ll = 0x01ffffffffffffffLL; - ld = (long double)ll; - memcpy(s, &ld, 16); - /*Check if the bit sequence is as supposed to be*/ - if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff || - s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff || - s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00) - ret = 1; - } - if(flag==1 && sizeof(unsigned long long)==8) { - ull = 0x01ffffffffffffffULL; - ld = (long double)ull; - memcpy(s, &ld, 16); - if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff || - s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff || - s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00) - ret = 1; - } - done: - exit(ret); - } - ], [hdf5_cv_llong_to_ldouble_correct=yes], [hdf5_cv_llong_to_ldouble_correct=no],)]) -fi - -if test ${hdf5_cv_llong_to_ldouble_correct} = "yes"; then - AC_DEFINE([LLONG_TO_LDOUBLE_CORRECT], [1], - [Define if your system can convert (unsigned) long long to long double values correctly.]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -## ---------------------------------------------------------------------- ## Set the flag to indicate that the machine generates bad code ## for the H5VM_log2_gen() routine in src/H5VMprivate.h ## (This flag should be set to no for all machines, except for SGI IRIX64, |