summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2005-01-06 18:17:59 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2005-01-06 18:17:59 (GMT)
commit82f6a72ec92fa12371c386c70c607dd8957ce8b6 (patch)
tree41e4cf0b57c5a123ded9dbe4c3f951b4ae818f4a /config
parent03edfaa6e90c150e017b2e8d6a6c0772b2a2650c (diff)
downloadhdf5-82f6a72ec92fa12371c386c70c607dd8957ce8b6.zip
hdf5-82f6a72ec92fa12371c386c70c607dd8957ce8b6.tar.gz
hdf5-82f6a72ec92fa12371c386c70c607dd8957ce8b6.tar.bz2
[svn-r9755] Purpose: New feature
Description: Start to support software conversion between long double and all integers. Solution: No major changes to the algorithm. Changes to configure is to exclude SGI for long double to integers test because there're too many problems in their compiler. Platforms tested: h5committest, modi4, fuss, Teragrid, arabica Misc. update: RELEASE.txt
Diffstat (limited to 'config')
-rw-r--r--config/irix5.x19
-rw-r--r--config/irix6.x14
2 files changed, 33 insertions, 0 deletions
diff --git a/config/irix5.x b/config/irix5.x
index 3624e7f..77b35c8 100644
--- a/config/irix5.x
+++ b/config/irix5.x
@@ -48,3 +48,22 @@ case "X-$CC_BASENAME" in
PROFILE_CPPFLAGS=
;;
esac
+
+# Hard set flag to indicate that the 'unsigned long long' to floating-point
+# value conversion are broken by the compilers (as of 4/27/04 - QAK)
+hdf5_cv_sw_ulong_to_fp_bottom_bit_works=${hdf5_cv_sw_ulong_to_fp_bottom_bit_works='no'}
+
+# Set flag to avoid conversion between 'long double' and integers because of
+# SGI's compiler problems. For both IRIX64 6.5 and IRIX 6.5, the compilers
+# have the following problems,
+# long double -> signed char : incorrect rounding
+# long double -> unsigned char : incorrect rounding
+# long double -> short : incorrect rounding
+# long double -> unsigned short : incorrect rounding
+# long double -> long or long long: incorrect value
+# long double -> unsigned long or long long : incorrect value
+#
+# long or long long -> long double : correct value but incorrect bit pattern
+# unsigned long or long long -> long double : correct value but incorrect bit pattern
+# (1/5/05 - SLU)
+hdf5_cv_sw_ldouble_to_int_works=${hdf5_cv_sw_ldouble_to_int_works='no'}
diff --git a/config/irix6.x b/config/irix6.x
index 2481e1e..293f2c8 100644
--- a/config/irix6.x
+++ b/config/irix6.x
@@ -146,3 +146,17 @@ fi
# value conversion are broken by the compilers (as of 4/27/04 - QAK)
hdf5_cv_sw_ulong_to_fp_bottom_bit_works=${hdf5_cv_sw_ulong_to_fp_bottom_bit_works='no'}
+# Set flag to avoid conversion between 'long double' and integers because of
+# SGI's compiler problems. For both IRIX64 6.5 and IRIX 6.5, the compilers
+# have the following problems,
+# long double -> signed char : incorrect rounding
+# long double -> unsigned char : incorrect rounding
+# long double -> short : incorrect rounding
+# long double -> unsigned short : incorrect rounding
+# long double -> long or long long: incorrect value
+# long double -> unsigned long or long long : incorrect value
+#
+# long or long long -> long double : correct value but incorrect bit pattern
+# unsigned long or long long -> long double : correct value but incorrect bit pattern
+# (1/5/05 - SLU)
+hdf5_cv_sw_ldouble_to_int_works=${hdf5_cv_sw_ldouble_to_int_works='no'}