summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2015-03-19 21:52:50 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2015-03-19 21:52:50 (GMT)
commit5329a7d6f1e4323636489f896621be0c3167486f (patch)
tree84c4f94dc6796e98ead2d96dafc52880d5fdf1db
parent9501c1685758455fe7ff7f4fdbfbf93bff09a531 (diff)
downloadhdf5-5329a7d6f1e4323636489f896621be0c3167486f.zip
hdf5-5329a7d6f1e4323636489f896621be0c3167486f.tar.gz
hdf5-5329a7d6f1e4323636489f896621be0c3167486f.tar.bz2
[svn-r26491] Description:
Bring r26257 from autotools_rework branch back to the trunk - removes the LDOUBLE_TO_INTEGER_ACCURATE macro/define, which was addressing problems with SGI systems and is no longer supported. Tested on: Linux 2.6.x/32 (jam) w/serial & parallel Daily tested on branch for >2 weeks.
-rw-r--r--config/cmake/ConfigureChecks.cmake8
-rw-r--r--config/cmake/H5pubconf.h.in3
-rwxr-xr-xconfigure32
-rw-r--r--configure.ac23
-rw-r--r--src/H5Tpkg.h8
-rw-r--r--src/H5config.h.in3
-rw-r--r--test/dt_arith.c6
7 files changed, 7 insertions, 76 deletions
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 80b44cb..939ee57 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -259,14 +259,6 @@ ENDMACRO (H5MiscConversionTest)
#-----------------------------------------------------------------------------
# -----------------------------------------------------------------------
-# Set flag to indicate that the machine can handle conversion from
-# long double to integers accurately. This flag should be set "yes" for
-# all machines except all SGIs. For SGIs, some conversions are
-# incorrect and its cache value is set "no" in its config/irix6.x and
-# irix5.x.
-#
-H5MiscConversionTest (H5_SIZEOF_LONG_DOUBLE H5_LDOUBLE_TO_INTEGER_ACCURATE "checking IF converting from long double to integers is accurate")
-# -----------------------------------------------------------------------
# Set flag to indicate that the machine can do conversion from
# long double to integers regardless of accuracy. This flag should be
# set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index ff05373..201b661 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -460,9 +460,6 @@
values. */
#cmakedefine H5_INTEGER_TO_LDOUBLE_ACCURATE @H5_INTEGER_TO_LDOUBLE_ACCURATE@
-/* Define if your system can convert long double to integers accurately. */
-#cmakedefine H5_LDOUBLE_TO_INTEGER_ACCURATE @H5_LDOUBLE_TO_INTEGER_ACCURATE@
-
/* Define if your system can convert from long double to integer values. */
#cmakedefine H5_LDOUBLE_TO_INTEGER_WORKS @H5_LDOUBLE_TO_INTEGER_WORKS@
diff --git a/configure b/configure
index fd806ef..d5b458a 100755
--- a/configure
+++ b/configure
@@ -28131,38 +28131,6 @@ $as_echo "no" >&6; }
esac
## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can handle conversion from
-## long double to integers accurately. This flag should be set "yes" for
-## all machines except all SGIs. For SGIs, some conversions are
-## incorrect and its cache value is set "no" in its config/irix6.x and
-## irix5.x.
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if converting from long double to integers is accurate" >&5
-$as_echo_n "checking if converting from long double to integers is accurate... " >&6; }
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_integer_accurate=${hdf5_cv_ldouble_to_integer_accurate=no}
-else
- if ${hdf5_cv_ldouble_to_integer_accurate+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_ldouble_to_integer_accurate=yes
-fi
-
-fi
-
-if test "${hdf5_cv_ldouble_to_integer_accurate}" = "yes"; then
-
-$as_echo "#define LDOUBLE_TO_INTEGER_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 flag to indicate that the machine can do conversion from
## long double to integers regardless of accuracy. This flag should be
## set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the
diff --git a/configure.ac b/configure.ac
index 77171c9..1f93072 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2558,29 +2558,6 @@ case "`uname`" in
esac
## -----------------------------------------------------------------------
-## Set flag to indicate that the machine can handle conversion from
-## long double to integers accurately. This flag should be set "yes" for
-## all machines except all SGIs. For SGIs, some conversions are
-## incorrect and its cache value is set "no" in its config/irix6.x and
-## irix5.x.
-##
-AC_MSG_CHECKING([if converting from long double to integers is accurate])
-
-if test ${ac_cv_sizeof_long_double} = 0; then
- hdf5_cv_ldouble_to_integer_accurate=${hdf5_cv_ldouble_to_integer_accurate=no}
-else
- AC_CACHE_VAL([hdf5_cv_ldouble_to_integer_accurate], [hdf5_cv_ldouble_to_integer_accurate=yes])
-fi
-
-if test "${hdf5_cv_ldouble_to_integer_accurate}" = "yes"; then
- AC_DEFINE([LDOUBLE_TO_INTEGER_ACCURATE], [1],
- [Define if your system can convert long double to integers accurately.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## -----------------------------------------------------------------------
## Set flag to indicate that the machine can do conversion from
## long double to integers regardless of accuracy. This flag should be
## set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index bd37829..39791e0 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -179,7 +179,7 @@
/* Define an internal macro for converting long double to all integers. SGI compilers give some incorrect
* conversions. HP-UX 11.00 compiler generates floating exception. */
-#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_ACCURATE && H5_LDOUBLE_TO_INTEGER_WORKS) || \
+#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS) || \
(!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
#define H5T_CONV_INTERNAL_LDOUBLE_INTEGER 1
#endif
@@ -187,7 +187,7 @@
/* Define an internal macro for converting long double to unsigned int. SGI compilers give some incorrect
* conversions. HP-UX 11.00 compiler generates floating exception. Some Intel compilers on some Linux
* give incorrect values. */
-#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_ACCURATE && H5_LDOUBLE_TO_UINT_ACCURATE && \
+#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_UINT_ACCURATE && \
H5_LDOUBLE_TO_INTEGER_WORKS) || (!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
#define H5T_CONV_INTERNAL_LDOUBLE_UINT 1
#endif
@@ -201,7 +201,7 @@
/* Define an internal macro for converting long double to long long. SGI compilers give some incorrect
* conversions. Mac OS 10.4 gives incorrect conversions. HP-UX 11.00 compiler generates floating exception.
* The hard conversion on Windows .NET 2003 has a bug and gives wrong exception value. */
-#if (H5_WANT_DATA_ACCURACY && !defined(H5_HW_FP_TO_LLONG_NOT_WORKS) && H5_LDOUBLE_TO_INTEGER_ACCURATE && \
+#if (H5_WANT_DATA_ACCURACY && !defined(H5_HW_FP_TO_LLONG_NOT_WORKS) && \
H5_LDOUBLE_TO_INTEGER_WORKS && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)) || \
(!H5_WANT_DATA_ACCURACY && !defined(H5_HW_FP_TO_LLONG_NOT_WORKS) && H5_LDOUBLE_TO_INTEGER_WORKS)
#define H5T_CONV_INTERNAL_LDOUBLE_LLONG 1
@@ -220,7 +220,7 @@
/* Define an internal macro for converting long double to unsigned long long. SGI compilers give some
* incorrect conversions. Mac OS 10.4 gives incorrect conversions. HP-UX 11.00 compiler generates
* floating exception. */
-#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_ACCURATE && H5_LDOUBLE_TO_INTEGER_WORKS && \
+#if (H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS && \
H5_FP_TO_ULLONG_ACCURATE && defined(H5_FP_TO_ULLONG_RIGHT_MAXIMUM) && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)) || \
(!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
#define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 1
diff --git a/src/H5config.h.in b/src/H5config.h.in
index a2fa0ad..d9aef37 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -386,9 +386,6 @@
values. */
#undef INTEGER_TO_LDOUBLE_ACCURATE
-/* Define if your system can convert long double to integers accurately. */
-#undef LDOUBLE_TO_INTEGER_ACCURATE
-
/* Define if your system can convert from long double to integer values. */
#undef LDOUBLE_TO_INTEGER_WORKS
diff --git a/test/dt_arith.c b/test/dt_arith.c
index 1e183aa..b9f02e2 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -5309,7 +5309,7 @@ run_fp_int_conv(const char *name)
#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
#endif
-#if H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE
+#if H5_LDOUBLE_TO_INTEGER_WORKS
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_SCHAR);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_UCHAR);
@@ -5391,7 +5391,7 @@ run_fp_int_conv(const char *name)
#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM && H5_LDOUBLE_TO_LLONG_ACCURATE*/
#endif
#endif
-#else /*H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE*/
+#else /*H5_LDOUBLE_TO_INTEGER_WORKS*/
{
char str[256]; /*hello string */
@@ -5405,7 +5405,7 @@ run_fp_int_conv(const char *name)
HDputs(" Test skipped due to disabled long double.");
#endif
}
-#endif /*H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE*/
+#endif /*H5_LDOUBLE_TO_INTEGER_WORKS */
#ifndef H5_VMS
} /* end for */
#endif /* H5_VMS */