summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2015-03-28 01:14:40 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2015-03-28 01:14:40 (GMT)
commit87db75e2e6f88b3dfdaf1c8758a1dbb2396d9105 (patch)
treece973d47b7507730bd60ccbe27f01ab7d639572b
parent03f3e620bbea7dd1474c42150d05817f14d23783 (diff)
downloadhdf5-87db75e2e6f88b3dfdaf1c8758a1dbb2396d9105.zip
hdf5-87db75e2e6f88b3dfdaf1c8758a1dbb2396d9105.tar.gz
hdf5-87db75e2e6f88b3dfdaf1c8758a1dbb2396d9105.tar.bz2
[svn-r26637] Description:
Bring r26597 from trunk to 1.8 branch: Bring r26500 from autotools_rework branch to trunk: Remove the LLONG_TO_FP_CAST_WORKS macro/define, as it targets problems with the Visual Studio 6 compilers. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on trunk for 2+ days)
-rw-r--r--config/cmake/ConfigureChecks.cmake9
-rw-r--r--config/cmake/H5pubconf.h.in3
-rwxr-xr-xconfigure29
-rw-r--r--configure.ac18
-rw-r--r--src/H5Ztrans.c16
-rw-r--r--src/H5config.h.in3
-rw-r--r--test/dtransform.c18
7 files changed, 3 insertions, 93 deletions
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 2b68779..e8951c6 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -259,15 +259,6 @@ ENDMACRO (H5MiscConversionTest)
#-----------------------------------------------------------------------------
# ----------------------------------------------------------------------
-# Set the flag to indicate that the machine can _compile_
-# 'long long' to 'float' and 'double' typecasts.
-# (This flag should be set for all machines.)
-#
-if (H5_LLONG_TO_FP_CAST_WORKS MATCHES ^H5_LLONG_TO_FP_CAST_WORKS$)
- set (H5_LLONG_TO_FP_CAST_WORKS 1 CACHE INTERNAL "Checking IF compiling long long to floating-point typecasts work")
- message (STATUS "Checking IF compiling long long to floating-point typecasts work... yes")
-endif (H5_LLONG_TO_FP_CAST_WORKS MATCHES ^H5_LLONG_TO_FP_CAST_WORKS$)
-# ----------------------------------------------------------------------
# Set the flag to indicate that the machine can convert from
# 'unsigned long long' to 'long double' without precision loss.
# (This flag should be set for all machines, except for FreeBSD(sleipnir)
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index c4e3c8d..aa96d1c 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -449,9 +449,6 @@
special algorithm. */
#cmakedefine H5_LDOUBLE_TO_LONG_SPECIAL @H5_LDOUBLE_TO_LONG_SPECIAL@
-/* Define if your system can compile long long to floating-point casts. */
-#cmakedefine H5_LLONG_TO_FP_CAST_WORKS @H5_LLONG_TO_FP_CAST_WORKS@
-
/* Define if your system can convert (unsigned) long long to long double
values correctly. */
#cmakedefine H5_LLONG_TO_LDOUBLE_CORRECT @H5_LLONG_TO_LDOUBLE_CORRECT@
diff --git a/configure b/configure
index bb69f92..e463958 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Id: configure.ac 26630 2015-03-27 22:12:22Z koziol .
+# From configure.ac Id: configure.ac 26636 2015-03-28 00:42:13Z koziol .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for HDF5 1.8.15-snap13.
#
@@ -28124,33 +28124,6 @@ $as_echo "no" >&6; }
esac
## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can _compile_
-## 'long long' to 'float' and 'double' typecasts.
-## (This flag should be set for all machines, except for under Windows when
-## compiled with Visual Studio 6, where the macro value is set in the
-## src/H5pubconf.h file)
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiling long long to floating-point typecasts work" >&5
-$as_echo_n "checking if compiling long long to floating-point typecasts work... " >&6; }
-if ${hdf5_cv_llong_to_fp_cast_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- hdf5_cv_llong_to_fp_cast_works=yes
-fi
-
-
-if test ${hdf5_cv_llong_to_fp_cast_works} = "yes"; then
-
-$as_echo "#define LLONG_TO_FP_CAST_WORKS 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 convert from
## 'unsigned long long' to 'long double' without precision loss.
## (This flag should be set for all machines, except for FreeBSD(sleipnir)
diff --git a/configure.ac b/configure.ac
index 0c1b82c..5222427 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2558,24 +2558,6 @@ case "`uname`" in
esac
## ----------------------------------------------------------------------
-## Set the flag to indicate that the machine can _compile_
-## 'long long' to 'float' and 'double' typecasts.
-## (This flag should be set for all machines, except for under Windows when
-## compiled with Visual Studio 6, where the macro value is set in the
-## src/H5pubconf.h file)
-##
-AC_MSG_CHECKING([if compiling long long to floating-point typecasts work])
-AC_CACHE_VAL([hdf5_cv_llong_to_fp_cast_works], [hdf5_cv_llong_to_fp_cast_works=yes])
-
-if test ${hdf5_cv_llong_to_fp_cast_works} = "yes"; then
- AC_DEFINE([LLONG_TO_FP_CAST_WORKS], [1],
- [Define if your system can compile long long to floating-point casts.])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-## ----------------------------------------------------------------------
## Set the flag to indicate that the machine can convert from
## 'unsigned long long' to 'long double' without precision loss.
## (This flag should be set for all machines, except for FreeBSD(sleipnir)
diff --git a/src/H5Ztrans.c b/src/H5Ztrans.c
index 7d46d70..7a94487 100644
--- a/src/H5Ztrans.c
+++ b/src/H5Ztrans.c
@@ -160,18 +160,6 @@ static void H5Z_print(H5Z_node *tree, FILE *stream);
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Unexpected type conversion operation") \
}
-/* Windows Intel 8.1 compiler has error converting long long to double.
- * Hard code it in.
- */
-#ifndef H5_LLONG_TO_FP_CAST_WORKS
-#define H5Z_XFORM_LL_DO_OP1(RESL,RESR,TYPE,OP,SIZE) \
-{ \
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Cannot convert from long long to double: required for data transform") \
-}
-#else
-#define H5Z_XFORM_LL_DO_OP1(RESL,RESR,TYPE,OP,SIZE) \
- H5Z_XFORM_DO_OP1(RESL,RESR,TYPE,OP,SIZE)
-#endif
#if H5_SIZEOF_LONG_DOUBLE !=0
#define H5Z_XFORM_TYPE_OP(RESL,RESR,TYPE,OP,SIZE) \
{ \
@@ -194,7 +182,7 @@ static void H5Z_print(H5Z_node *tree, FILE *stream);
else if((TYPE) == H5T_NATIVE_ULONG) \
H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_LLONG) \
- H5Z_XFORM_LL_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
+ H5Z_XFORM_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_ULLONG) \
H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_FLOAT) \
@@ -226,7 +214,7 @@ static void H5Z_print(H5Z_node *tree, FILE *stream);
else if((TYPE) == H5T_NATIVE_ULONG) \
H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_LLONG) \
- H5Z_XFORM_LL_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
+ H5Z_XFORM_DO_OP1((RESL), (RESR), long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_ULLONG) \
H5Z_XFORM_DO_OP1((RESL), (RESR), unsigned long long, OP, (SIZE)) \
else if((TYPE) == H5T_NATIVE_FLOAT) \
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 2ab7837..4baab7e 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -382,9 +382,6 @@
special algorithm. */
#undef LDOUBLE_TO_LONG_SPECIAL
-/* Define if your system can compile long long to floating-point casts. */
-#undef LLONG_TO_FP_CAST_WORKS
-
/* Define if your system can convert (unsigned) long long to long double
values correctly. */
#undef LLONG_TO_LDOUBLE_CORRECT
diff --git a/test/dtransform.c b/test/dtransform.c
index aa6ae6e..4adbaf5 100644
--- a/test/dtransform.c
+++ b/test/dtransform.c
@@ -297,19 +297,7 @@ int main(void)
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned int, H5T_NATIVE_UINT, "uint", transformData, 0);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, long, H5T_NATIVE_LONG, "long", windchillFfloat, 1);
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned long, H5T_NATIVE_ULONG, "ulong", transformData, 0);
-
-#ifndef H5_VMS
-#ifdef H5_LLONG_TO_FP_CAST_WORKS
TEST_TYPE_CONTIG(dxpl_id_c_to_f, long long, H5T_NATIVE_LLONG, "llong", windchillFfloat, 1);
-#else
- TESTING("contiguous, with type conversion (float->llong)")
- SKIPPED()
-#endif
-#else /*H5_VMS*/
- TESTING("contiguous, with type conversion (float->llong): some problem in library's conversion")
- SKIPPED()
-#endif /*H5_VMS*/
-
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned long long, H5T_NATIVE_ULLONG, "ullong", transformData, 0);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, float, H5T_NATIVE_FLOAT, "float", windchillFfloat, 1);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, double, H5T_NATIVE_DOUBLE, "double", windchillFfloat, 1);
@@ -326,13 +314,7 @@ int main(void)
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned int, H5T_NATIVE_UINT, "uint", transformData, 0);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, long, H5T_NATIVE_LONG, "long", windchillFfloat, 1);
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned long, H5T_NATIVE_ULONG, "ulong", transformData, 0);
-#ifdef H5_LLONG_TO_FP_CAST_WORKS
TEST_TYPE_CHUNK(dxpl_id_c_to_f, long long, H5T_NATIVE_LLONG, "llong", windchillFfloat, 1);
-#else
- TESTING("chunked, with type conversion (float->llong)")
- SKIPPED()
-#endif
-
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned long long, H5T_NATIVE_ULLONG, "ullong", transformData, 0);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, float, H5T_NATIVE_FLOAT, "float", windchillFfloat, 1);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, double, H5T_NATIVE_DOUBLE, "double", windchillFfloat, 1);