Mercurial > hg > octave-lyh > gnulib-hg
changeset 8643:013fc89d552c
Catch a bug of printf "%a" on FreeBSD 6.1.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Thu, 05 Apr 2007 00:41:39 +0000 |
parents | a6f02271aae1 |
children | 7cf946481cd2 |
files | ChangeLog m4/printf.m4 |
diffstat | 2 files changed, 15 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-04-04 Bruno Haible <bruno@clisp.org> + + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct + rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test. + 2007-04-04 Bruno Haible <bruno@clisp.org> * tests/test-vasnprintf-posix.c (test_function): Allow two possible
--- a/m4/printf.m4 +++ b/m4/printf.m4 @@ -1,4 +1,4 @@ -# printf.m4 serial 2 +# printf.m4 serial 3 dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -115,6 +115,13 @@ && strcmp (buf, "-0X6.488P-1 33") != 0 && strcmp (buf, "-0XC.91P-2 33") != 0)) return 1; + /* This catches a FreeBSD 6.1 bug: it doesn't round. */ + if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0 + || (strcmp (result, "0x1.83p+0 33") != 0 + && strcmp (result, "0x3.05p-1 33") != 0 + && strcmp (result, "0x6.0ap-2 33") != 0 + && strcmp (result, "0xc.14p-3 33") != 0)) + return 1; /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */ if (sprintf (buf, "%.1a", 1.999) < 0 || (strcmp (buf, "0x1.0p+1") != 0 @@ -149,18 +156,9 @@ [gl_cv_func_printf_directive_a="guessing yes"], [gl_cv_func_printf_directive_a="guessing no"]) ;; -changequote(,)dnl - # Guess yes on FreeBSD >= 5. - freebsd[1-4]*) gl_cv_func_printf_directive_a="guessing no";; - freebsd* | kfreebsd*) gl_cv_func_printf_directive_a="guessing yes";; - # Guess yes on NetBSD >= 4. - netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*) - gl_cv_func_printf_directive_a="guessing no";; - netbsd*) gl_cv_func_printf_directive_a="guessing yes";; # If we don't know, assume the worst. *) gl_cv_func_printf_directive_a="guessing no";; esac -changequote([,])dnl ]) ]) ]) @@ -452,7 +450,7 @@ dnl 1 2 3 4 5 6 7 8 dnl glibc 2.5 . . . . . . . . dnl glibc 2.3.6 . # . . . . . . -dnl FreeBSD 5.4, 6.1 . . . . . . . . +dnl FreeBSD 5.4, 6.1 . ? . . . . . . dnl MacOS X 10.3.9 . # . . . . . . dnl OpenBSD 3.9, 4.0 . # . . . . . ? dnl Cygwin 2007 . # . . . . . ? @@ -466,7 +464,7 @@ dnl IRIX 6.5 # # . . . . # . dnl OSF/1 5.1 # # . . . . # . dnl OSF/1 4.0d # # . . # # # # -dnl NetBSD 4.0 . . . . . . . ? +dnl NetBSD 4.0 . ? . . . . . ? dnl NetBSD 3.0 . # . # . . . . dnl BeOS # # . # . . . . dnl mingw # # . # . # # #