summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/H5Tpkg.h13
-rw-r--r--src/H5config.h.in4
2 files changed, 11 insertions, 6 deletions
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index 522329b..9a5ab33 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -138,10 +138,10 @@
#endif
/* Define an internal macro for converting long double to long long. SGI compilers give some 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. */
+ * 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 && !H5_HW_FP_TO_LLONG_NOT_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE && \
- H5_LDOUBLE_TO_INTEGER_WORKS) || \
+ H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_LLONG_ACCURATE) || \
(!H5_WANT_DATA_ACCURACY && !H5_HW_FP_TO_LLONG_NOT_WORKS && H5_LDOUBLE_TO_INTEGER_WORKS)
#define H5T_CONV_INTERNAL_LDOUBLE_LLONG 1
#endif
@@ -156,10 +156,11 @@
#define H5T_CONV_INTERNAL_FP_ULLONG 0
#endif
-/* 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. */
+/* 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 && \
- H5_FP_TO_ULLONG_ACCURATE && H5_FP_TO_ULLONG_RIGHT_MAXIMUM) || \
+ H5_FP_TO_ULLONG_ACCURATE && H5_FP_TO_ULLONG_RIGHT_MAXIMUM && H5_LDOUBLE_TO_LLONG_ACCURATE) || \
(!H5_WANT_DATA_ACCURACY && H5_LDOUBLE_TO_INTEGER_WORKS)
#define H5T_CONV_INTERNAL_LDOUBLE_ULLONG 1
#else
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 15bb630..5497037 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -383,6 +383,10 @@
/* Define if your system can convert from long double to integer values. */
#undef LDOUBLE_TO_INTEGER_WORKS
+/* Define if your system can convert long double to (unsigned) long long
+ values correctly. */
+#undef LDOUBLE_TO_LLONG_ACCURATE
+
/* Define if your system can convert long double to unsigned int values
correctly. */
#undef LDOUBLE_TO_UINT_ACCURATE