changeset 14001:f95b28aac525

doc: document Solaris printf bug with large float precisions * doc/posix-functions/dprintf.texi (dprintf): * doc/posix-functions/fprintf.texi (fprintf): * doc/posix-functions/printf.texi (printf): * doc/posix-functions/snprintf.texi (snprintf): * doc/posix-functions/sprintf.texi (sprintf): * doc/posix-functions/vdprintf.texi (vdprintf): * doc/posix-functions/vfprintf.texi (vfprintf): * doc/posix-functions/vprintf.texi (vprintf): * doc/posix-functions/vsnprintf.texi (vsnprintf): * doc/posix-functions/vsprintf.texi (vsprintf): Mention that these functions mishandle large floating point precisions on Solaris 10. The same bug is also present in Solaris 8, and I assume earlier. This causes "cd gnulib-tests; make check" to fail on Solaris 8 (and I assume, later) when building the latest coreutils, in test-vasprintf-posix's call to my_asprintf (&result, "%.4000f %d", 1.0, 99). I have not checked the wide flavors (e.g., wprintf) so this patch just updates the documentation for the narrow ones.
author Paul Eggert <eggert@cs.ucla.edu>
date Wed, 22 Dec 2010 15:13:59 -0800
parents a1b25ebccaf2
children b9abed08d82e
files ChangeLog doc/posix-functions/dprintf.texi doc/posix-functions/fprintf.texi doc/posix-functions/printf.texi doc/posix-functions/snprintf.texi doc/posix-functions/sprintf.texi doc/posix-functions/vdprintf.texi doc/posix-functions/vfprintf.texi doc/posix-functions/vprintf.texi doc/posix-functions/vsnprintf.texi doc/posix-functions/vsprintf.texi
diffstat 11 files changed, 70 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,25 @@
 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
 
+	doc: document Solaris printf bug with large float precisions
+	* doc/posix-functions/dprintf.texi (dprintf):
+	* doc/posix-functions/fprintf.texi (fprintf):
+	* doc/posix-functions/printf.texi (printf):
+	* doc/posix-functions/snprintf.texi (snprintf):
+	* doc/posix-functions/sprintf.texi (sprintf):
+	* doc/posix-functions/vdprintf.texi (vdprintf):
+	* doc/posix-functions/vfprintf.texi (vfprintf):
+	* doc/posix-functions/vprintf.texi (vprintf):
+	* doc/posix-functions/vsnprintf.texi (vsnprintf):
+	* doc/posix-functions/vsprintf.texi (vsprintf):
+	Mention that these functions mishandle large floating point
+	precisions on Solaris 10.  The same bug is also present in Solaris
+	8, and I assume earlier.  This causes "cd gnulib-tests; make
+	check" to fail on Solaris 8 (and I assume, later) when building
+	the latest coreutils, in test-vasprintf-posix's call to
+	my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
+	the wide flavors (e.g., wprintf) so this patch just updates the
+	documentation for the narrow ones.
+
 	test-posixtm.c: add two tests
 	* tests/test-posixtm.c: Add two tests, to highlight the
 	bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
--- a/doc/posix-functions/dprintf.texi
+++ b/doc/posix-functions/dprintf.texi
@@ -24,4 +24,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/fprintf.texi
+++ b/doc/posix-functions/fprintf.texi
@@ -69,4 +69,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/printf.texi
+++ b/doc/posix-functions/printf.texi
@@ -69,4 +69,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/snprintf.texi
+++ b/doc/posix-functions/snprintf.texi
@@ -89,4 +89,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/sprintf.texi
+++ b/doc/posix-functions/sprintf.texi
@@ -61,4 +61,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/vdprintf.texi
+++ b/doc/posix-functions/vdprintf.texi
@@ -42,4 +42,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/vfprintf.texi
+++ b/doc/posix-functions/vfprintf.texi
@@ -69,4 +69,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/vprintf.texi
+++ b/doc/posix-functions/vprintf.texi
@@ -69,4 +69,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/vsnprintf.texi
+++ b/doc/posix-functions/vsnprintf.texi
@@ -89,4 +89,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize
--- a/doc/posix-functions/vsprintf.texi
+++ b/doc/posix-functions/vsprintf.texi
@@ -61,4 +61,9 @@
 
 Portability problems not fixed by Gnulib:
 @itemize
+@item
+This function mishandles large floating point precisions
+(for example, formatting 1.0 with @samp{"%.511f"})
+on some platforms:
+Solaris 10.
 @end itemize