]> Savannah Git Hosting - gnulib.git/commitdiff
*printf: Fix for platforms where 'long double' == 'double'.
authorBruno Haible <bruno@clisp.org>
Sun, 9 Oct 2011 11:06:52 +0000 (13:06 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 9 Oct 2011 11:07:02 +0000 (13:07 +0200)
* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
* modules/dprintf-posix (Files): Add m4/math_h.m4.
* modules/fprintf-posix (Files): Likewise.
* modules/obstack-printf-posix (Files): Likewise.
* modules/snprintf-posix (Files): Likewise.
* modules/sprintf-posix (Files): Likewise.
* modules/vasnprintf (Files): Likewise.
* modules/vasnprintf-posix (Files): Likewise.
* modules/vasprintf-posix (Files): Likewise.
* modules/vdprintf-posix (Files): Likewise.
* modules/vfprintf-posix (Files): Likewise.
* modules/vsnprintf-posix (Files): Likewise.
* modules/vsprintf-posix (Files): Likewise.
* modules/unistdio/u8-vasnprintf (Files): Likewise.
* modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
* modules/unistdio/u16-vasnprintf (Files): Likewise.
* modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
* modules/unistdio/u32-vasnprintf (Files): Likewise.
* modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
* modules/unistdio/ulc-vasnprintf (Files): Likewise.

21 files changed:
ChangeLog
m4/printf.m4
modules/dprintf-posix
modules/fprintf-posix
modules/obstack-printf-posix
modules/snprintf-posix
modules/sprintf-posix
modules/unistdio/u16-u16-vasnprintf
modules/unistdio/u16-vasnprintf
modules/unistdio/u32-u32-vasnprintf
modules/unistdio/u32-vasnprintf
modules/unistdio/u8-u8-vasnprintf
modules/unistdio/u8-vasnprintf
modules/unistdio/ulc-vasnprintf
modules/vasnprintf
modules/vasnprintf-posix
modules/vasprintf-posix
modules/vdprintf-posix
modules/vfprintf-posix
modules/vsnprintf-posix
modules/vsprintf-posix

index 52c523c5cffbd83260056367abc91ac2b3ed7de3..200a877154c5c0142923f9131fb7289515b19431 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2011-10-09  Bruno Haible  <bruno@clisp.org>
 
+       *printf: Fix for platforms where 'long double' == 'double'.
+       * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
+       gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
+       * modules/dprintf-posix (Files): Add m4/math_h.m4.
+       * modules/fprintf-posix (Files): Likewise.
+       * modules/obstack-printf-posix (Files): Likewise.
+       * modules/snprintf-posix (Files): Likewise.
+       * modules/sprintf-posix (Files): Likewise.
+       * modules/vasnprintf (Files): Likewise.
+       * modules/vasnprintf-posix (Files): Likewise.
+       * modules/vasprintf-posix (Files): Likewise.
+       * modules/vdprintf-posix (Files): Likewise.
+       * modules/vfprintf-posix (Files): Likewise.
+       * modules/vsnprintf-posix (Files): Likewise.
+       * modules/vsprintf-posix (Files): Likewise.
+       * modules/unistdio/u8-vasnprintf (Files): Likewise.
+       * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
+       * modules/unistdio/u16-vasnprintf (Files): Likewise.
+       * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
+       * modules/unistdio/u32-vasnprintf (Files): Likewise.
+       * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
+       * modules/unistdio/ulc-vasnprintf (Files): Likewise.
+
        isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
        * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
        * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
index d046c11123d2292c461beb7b6ed842406b5fc56b..0814c91fecde2744559df77cd1d5b28950207f38 100644 (file)
@@ -1,4 +1,4 @@
-# printf.m4 serial 45
+# printf.m4 serial 46
 dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -251,6 +251,7 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE],
   AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
   AC_REQUIRE([AC_PROG_CC])
   AC_REQUIRE([gl_BIGENDIAN])
+  AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   dnl The user can set or unset the variable gl_printf_safe to indicate
   dnl that he wishes a safe handling of non-IEEE-754 'long double' values.
@@ -321,7 +322,7 @@ int main ()
   if (sprintf (buf, "%Lg", zeroL / zeroL) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 1;
-#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
 /* Representation of an 80-bit 'long double' as an initializer for a sequence
    of 'unsigned int' words.  */
 # ifdef WORDS_BIGENDIAN
index 2423d6162888f7a5cd6b043558d8364579b5c677..c3b257b11a0f8d8140bce2d892f7a080ca95da5a 100644 (file)
@@ -11,6 +11,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/dprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 dprintf
index 47e76c5c50bd65406d963e02e3e99595daf09d18..e7bb211e29c94b3a8fc6f57df2898261f0904c86 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/fprintf.c
 m4/fprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index df56087771dbfae2c43f6fcad8e45b2c9730d8e0..c2036a8479b459828d90c568fec86d7af78f4ccd 100644 (file)
@@ -10,6 +10,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/obstack-printf.m4
 m4/obstack-printf-posix.m4
+m4/math_h.m4
 lib/obstack_printf.c
 
 Depends-on:
index 874ba5a46f26b33b62f0a6717c95b091cd4a5cd4..78c12a3bfc7a752c3d5505e289bca9a27391cc0e 100644 (file)
@@ -11,6 +11,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/snprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 snprintf
index cdcc8aa51086995fc615af0b3a0dd483e57b5ad7..c8bc2a3c2dff58e6fc40d0b3572782d04d484cc1 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/sprintf.c
 m4/sprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index c32166961d9fed770a242616ad3fd84ecb739f22..d9e37e23adb6181cb2e69e8fbf1a5862951029b8 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/u16-u16-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index a382ce47b5a0e0e789b0bdc5757d124e1696ec00..21d19bd0ff98bb91a9a4a843eac46a7bfbf286bb 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/u16-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index 800c61e6f22d012d4ffdb7d5d1ce2b284b67e60d..c239248ad7669b65af567b543c3a685e02c7009f 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/u32-u32-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index fe71cb2b723500fdd7fc1bc59a93ea97195d0c2e..d73ddc8c30313293e3dd81f07348215b472a5575 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/u32-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index 5e9552169d22b975829066e1363220e6576cd37a..5cc91503e1542eaec7e1c94ce770cfe52d396cdc 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/u8-u8-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index 3aaf935c8acedd6e58e2d5c867530bdf4219f134..049e5c1f8ec6a345795d36b7ab2dd1b1c6cb4225 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/u8-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index 8228a0678e4be7d2c3c03448d3b51dea10bb52ef..c3563c5e32d60897926290c2180cc18836f436f9 100644 (file)
@@ -6,6 +6,7 @@ lib/unistdio/ulc-vasnprintf.c
 lib/vasnprintf.c
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 m4/wchar_t.m4
 m4/wint_t.m4
 m4/longlong.m4
index 35f5f3a3076c336e2786827f73cfa5265fef033a..da6b28056c9ac0daa59b27cdecf90c8644031a80 100644 (file)
@@ -18,6 +18,7 @@ m4/stdint_h.m4
 m4/inttypes_h.m4
 m4/vasnprintf.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 alloca-opt
index 6a6177abb92147a44ed04d0630f124deb2d3b926..090b1d24416869c90d61e0d6f82364591ca0d4f8 100644 (file)
@@ -11,6 +11,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/vasnprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 vasnprintf
index 5e9050689aa2bef67cdcb24291291f43f30a853e..9665b76c7257d2fe5a2dfe9b79716d673bd6ecc7 100644 (file)
@@ -10,6 +10,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/vasprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 vasprintf
index 518ecde5263ad65470d794bb045aeb13b4f455af..c994a4f2c931bba7669d95537cb17f02000e22ca 100644 (file)
@@ -11,6 +11,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/vdprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 vdprintf
index 69b6608e096355144ae4c9f580ba162c8cf6eb1b..aba18b57c8173467e8f2947111db748c1792a043 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/vfprintf.c
 m4/vfprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio
index 198beeb58a87a33db098ab576e675d548dda82f4..e3456fbc86ca89ad3542465ada71ef1cb45879f6 100644 (file)
@@ -11,6 +11,7 @@ that module occurs among the main modules in lib/.
 Files:
 m4/vsnprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 vsnprintf
index 10e538561261d131f8fb971794b1ff1b5b022cea..99c80f14f51ca1d8665ecb43b0b4df3acc5de674 100644 (file)
@@ -11,6 +11,7 @@ Files:
 lib/vsprintf.c
 m4/vsprintf-posix.m4
 m4/printf.m4
+m4/math_h.m4
 
 Depends-on:
 stdio