mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-19 16:50:46 +08:00
[svn-r26597] Description:
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 branch for 2+ days)
This commit is contained in:
parent
b03d04742d
commit
27dd4e0f05
@ -258,15 +258,6 @@ ENDMACRO (H5MiscConversionTest)
|
||||
# Check various conversion capabilities
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# 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.
|
||||
|
@ -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@
|
||||
|
27
configure
vendored
27
configure
vendored
@ -28150,33 +28150,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.
|
||||
|
18
configure.ac
18
configure.ac
@ -2574,24 +2574,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.
|
||||
|
@ -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) \
|
||||
|
@ -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
|
||||
|
@ -297,14 +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);
|
||||
|
||||
#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
|
||||
|
||||
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);
|
||||
@ -321,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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user