summaryrefslogtreecommitdiff
path: root/lib/float.in.h
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2011-10-22 16:24:32 +0200
committerLudovic Courtès <ludo@gnu.org>2011-10-22 16:24:32 +0200
commit35428fb6b2d269dbfa2eec7d0739aec149bd4cc2 (patch)
tree03146c5871ad9b2167f3dffc89fdbb3082d7fc4e /lib/float.in.h
parentfe4ea6859e7d19a0fe2694a3fb49f4abb722afc1 (diff)
downloadguile-35428fb6b2d269dbfa2eec7d0739aec149bd4cc2.tar.gz
Update Gnulib to v0.0-6523-gb3609c1.
Diffstat (limited to 'lib/float.in.h')
-rw-r--r--lib/float.in.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/float.in.h b/lib/float.in.h
index 95dda79b8..18ecb6e74 100644
--- a/lib/float.in.h
+++ b/lib/float.in.h
@@ -109,7 +109,8 @@ extern const union gl_long_double_union gl_LDBL_MAX;
#endif
/* On AIX 7.1 with gcc 4.2, the values of LDBL_MIN_EXP, LDBL_MIN, LDBL_MAX are
- wrong. */
+ wrong.
+ On Linux/PowerPC with gcc 4.4, the value of LDBL_MAX is wrong. */
#if (defined _ARCH_PPC || defined _POWER) && defined _AIX && (LDBL_MANT_DIG == 106) && defined __GNUC__
# undef LDBL_MIN_EXP
# define LDBL_MIN_EXP DBL_MIN_EXP
@@ -117,6 +118,8 @@ extern const union gl_long_double_union gl_LDBL_MAX;
# define LDBL_MIN_10_EXP DBL_MIN_10_EXP
# undef LDBL_MIN
# define LDBL_MIN 2.22507385850720138309023271733240406422e-308L /* DBL_MIN = 2^-1022 */
+#endif
+#if (defined _ARCH_PPC || defined _POWER) && (defined _AIX || defined __linux__) && (LDBL_MANT_DIG == 106) && defined __GNUC__
# undef LDBL_MAX
/* LDBL_MAX is represented as { 0x7FEFFFFF, 0xFFFFFFFF, 0x7C8FFFFF, 0xFFFFFFFF }.
It is not easy to define:
@@ -170,5 +173,16 @@ extern const union gl_long_double_union gl_LDBL_MAX;
# endif
#endif
+#if @REPLACE_ITOLD@
+/* Pull in a function that fixes the 'int' to 'long double' conversion
+ of glibc 2.7. */
+extern
+# ifdef __cplusplus
+"C"
+# endif
+void _Qp_itoq (long double *, int);
+static void (*_gl_float_fix_itold) (long double *, int) = _Qp_itoq;
+#endif
+
#endif /* _@GUARD_PREFIX@_FLOAT_H */
#endif /* _@GUARD_PREFIX@_FLOAT_H */