2012-03-13 Pádraig Brady
doc: Update timer_* platform portability notes.
* doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
that always return ENOSYS.
* doc/posix-functions/timer_delete.texi: Likewise.
* doc/posix-functions/timer_gettime.texi: Likewise.
* doc/posix-functions/timer_settime.texi: Likewise.
2012-03-13 Bruno Haible
cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
* m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
(gl_FUNC_CBRTL): Invoke it. If the function does not work, set
REPLACE_CBRTL to 1.
* doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2012-03-13 Bruno Haible
remainderl: Avoid compilation error on AIX >= 5.2.
* lib/math.in.h (remainderl): Undefine macro from the system header.
2012-03-13 Bruno Haible
Avoid compilation errors with MSVC option -fp:strict.
* lib/cbrt.c: Use MSVC specific pragma fenv_access.
* lib/cbrtf.c: Likewise.
Reported by Michael Goffioul .
2012-03-12 Bruno Haible
uninorm: Don't crash in out-of-memory conditions.
* lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
gracefully.
* lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
Based on a report and patch by Stephen Gallagher .
2012-03-13 Akim Demaille
quote: fix syntax-check
* top/maint.mk (sc_prohibit_quote_without_use): quote.h
also exports quote_quoting_options.
2012-03-12 Simon Josefsson
Collapse list of copyright years to ranges. See
.
* build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
build-aux/csharpexec.sh.in, build-aux/gnupload,
build-aux/install-reloc, build-aux/javacomp.sh.in,
build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
build-aux/move-if-change, build-aux/reloc-ldflags,
build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2012-03-11 Bruno Haible
log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
* m4/log2f-ieee.m4: New file.
* m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
whether log2f works with a minus zero argument. Replace it if not.
* modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
(Depends-on): Add log2-ieee.
(configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
* doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
* m4/log2-ieee.m4: New file.
* m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
whether log2 works with a minus zero argument. Replace it if not.
* modules/log2-ieee (Files): Add m4/log2-ieee.m4.
(configure.ac): Invoke gl_FUNC_LOG2_IEEE.
* doc/posix-functions/log2.texi: Mention the log2-ieee module.
Tests for module 'log2l-ieee'.
* modules/log2l-ieee-tests: New file.
* tests/test-log2l-ieee.c: New file.
New module 'log2l-ieee'.
* modules/log2l-ieee: New file.
Tests for module 'log2-ieee'.
* modules/log2-ieee-tests: New file.
* tests/test-log2-ieee.c: New file.
New module 'log2-ieee'.
* modules/log2-ieee: New file.
Tests for module 'log2f-ieee'.
* modules/log2f-ieee-tests: New file.
* tests/test-log2f-ieee.c: New file.
* tests/test-log2-ieee.h: New file.
New module 'log2f-ieee'.
* modules/log2f-ieee: New file.
2012-03-11 Bruno Haible
Tests for module 'log2l'.
* modules/log2l-tests: New file.
* tests/test-log2l.c: New file.
New module 'log2l'.
* lib/math.in.h (log2l): New declaration.
* lib/log2l.c: New file.
* m4/log2l.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
REPLACE_LOG2L.
* modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
REPLACE_LOG2L.
* modules/log2l: New file.
* tests/test-math-c++.cc: Check the declaration of log2l.
* doc/posix-functions/log2l.texi: Mention the new module and the IRIX
and OSF/1 problems.
2012-03-11 Bruno Haible
Tests for module 'log2f'.
* modules/log2f-tests: New file.
* tests/test-log2f.c: New file.
New module 'log2f'.
* lib/math.in.h (log2f): New declaration.
* lib/log2f.c: New file.
* m4/log2f.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
REPLACE_LOG2F.
* modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
REPLACE_LOG2F.
* modules/log2f: New file.
* tests/test-math-c++.cc: Check the declaration of log2f.
* doc/posix-functions/log2f.texi: Mention the new module and the IRIX
and OSF/1 and Cygwin problems.
2012-03-11 Bruno Haible
Tests for module 'log2'.
* modules/log2-tests: New file.
* tests/test-log2.c: New file.
* tests/test-log2.h: New file.
New module 'log2'.
* lib/math.in.h (log2): New declaration.
* lib/log2.c: New file.
* m4/log2.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
REPLACE_LOG2.
* modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
REPLACE_LOG2.
* modules/log2: New file.
* tests/test-math-c++.cc: Check the declaration of log2.
* doc/posix-functions/log2.texi: Mention the new module and the IRIX
and OSF/1 and Cygwin problems.
2012-03-11 Bruno Haible
exp2* tests: More tests.
* tests/test-exp2.h (test_function): Test all integral arguments that
don't need to overflow or denormalized numbers.
* tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
* tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
* tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2012-03-10 Bruno Haible
log1pl-ieee: Work around test failure on AIX 7.1.
* modules/log1pl-ieee (Depends-on): Add log1p-ieee.
log1pl-ieee: Work around test failure on IRIX 6.5.
* m4/log1pl-ieee.m4: New file.
* m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
test whether log1pl works with a minus zero argument. Replace it if
not.
* lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
* modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
* modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
(Depends-on): Update conditions.
* modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
* doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
* m4/log1pf-ieee.m4: New file.
* m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
test whether log1pf works with a minus zero argument. Replace it if
not.
* modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
* doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
* modules/log1pf-ieee (Depends-on): Add log1p-ieee.
(configure.ac): Require gl_FUNC_LOG1PF.
log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
* m4/log1p-ieee.m4: New file.
* m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
whether log1p works with a minus zero argument. Replace it if not.
* lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
* modules/math (Makefile.am): Substitute REPLACE_LOG1P.
* modules/log1p (configure.ac): Consider REPLACE_LOG1P.
(Depends-on): Update conditions.
* modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
* doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
Tests for module 'log1pl-ieee'.
* modules/log1pl-ieee-tests: New file.
* tests/test-log1pl-ieee.c: New file.
New module 'log1pl-ieee'.
* modules/log1pl-ieee: New file.
Tests for module 'log1p-ieee'.
* modules/log1p-ieee-tests: New file.
* tests/test-log1p-ieee.c: New file.
New module 'log1p-ieee'.
* modules/log1p-ieee: New file.
Tests for module 'log1pf-ieee'.
* modules/log1pf-ieee-tests: New file.
* tests/test-log1pf-ieee.c: New file.
* tests/test-log1p-ieee.h: New file.
New module 'log1pf-ieee'.
* modules/log1pf-ieee: New file.
2012-03-10 Bruno Haible
Tests for module 'log1pl'.
* modules/log1pl-tests: New file.
* tests/test-log1pl.c: New file.
New module 'log1pl'.
* lib/math.in.h (log1pl): New declaration.
* lib/log1pl.c: New file.
* m4/log1pl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
* modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
* modules/log1pl: New file.
* tests/test-math-c++.cc: Check the declaration of log1pl.
* doc/posix-functions/log1pl.texi: Mention the new module.
2012-03-10 Bruno Haible
Tests for module 'log1pf'.
* modules/log1pf-tests: New file.
* tests/test-log1pf.c: New file.
New module 'log1pf'.
* lib/math.in.h (log1pf): New declaration.
* lib/log1pf.c: New file.
* m4/log1pf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
REPLACE_LOG1PF.
* modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
REPLACE_LOG1PF.
* modules/log1pf: New file.
* tests/test-math-c++.cc: Check the declaration of log1pf.
* doc/posix-functions/log1pf.texi: Mention the new module.
2012-03-10 Bruno Haible
log1p tests: More tests.
* tests/test-log1p.h: New file.
* modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_log1p_SOURCES.
* tests/test-log1p.c: Include and test-log1p.h.
(main): Invoke test_function.
log1p: Provide replacement for Minix and MSVC.
* lib/math.in.h (log1p): New declaration.
* lib/log1p.c: New file.
* m4/log1p.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
* modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
* modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
(Depends-on): Add math, isnand, log, round.
(configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
HAVE_LOG1P is 0.
* tests/test-math-c++.cc: Check the declaration of log1p.
* doc/posix-functions/log1p.texi: Mention the replacement.
2012-03-10 Bruno Haible
math tests: Small simplification.
* tests/test-exp.h (test_function): Use the same err_bound for
'double' on platforms with sizeof (long double) == sizeof (double)
than on platforms with sizeof (long double) > sizeof (double).
* tests/test-exp2.h (test_function): Likewise.
* tests/test-expm1.h (test_function): Likewise.
* tests/test-log.h (test_function): Likewise.
2012-03-10 Bruno Haible
Fix some comments.
* lib/expl.c: Fix an ambiguous comment.
* lib/expm1.c: Likewise.
* lib/expm1l.c: Likewise.
* lib/exp2.c: Likewise.
* lib/exp2l.c: Likewise.
2012-03-10 Paul Eggert
regex: allow inclusion of before
Without this patch, portable programs had to include before
if they wanted a consistent value for RE_DUP_MAX.
I ran into this problem with a test version of GNU grep on Solaris 8.
* lib/regex.h: Include if _REGEX_INCLUDE_LIMITS_H.
This is done conditionally so that this change can be merged
back to glibc.
* m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
using the included regex.
fts: depend on fdopendir
* modules/fts (Depends-on): Depend on fdopendir. This is needed
on Solaris 8, at least, since it lacks fdopendir. Evidently the
problem was introduced when fdopendir was split out.
2012-03-10 Bruno Haible
Remove unused variables.
* m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2012-03-10 Bruno Haible
isnanf-nolibm: Fix last commit.
* lib/isnanf-nolibm.h [IRIX]: Don't include . Declare isnanf.
isnanf-nolibm: Make it work on IRIX 6.5 with cc.
* lib/isnanf-nolibm.h [IRIX]: Include .
2012-03-10 Bruno Haible
logf-ieee: Work around test failure on NetBSD 5.1.
* m4/logf-ieee.m4: New file.
* m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
whether logf works with a negative argument. Replace it if not.
* lib/logf.c (logf): For negative arguments, return NaN.
* modules/logf-ieee (Files): Add m4/logf-ieee.m4.
(configure.ac): Invoke gl_FUNC_LOGF_IEEE.
* doc/posix-functions/logf.texi: Mention the logf-ieee module.
logf-ieee: Work around test failure on Solaris 9.
* modules/logf-ieee (Depends-on): Add log-ieee.
(configure.ac): Require gl_FUNC_LOGF.
log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
* m4/log-ieee.m4: New file.
* m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
log works with a negative argument. Replace it if not.
* lib/log.c (log): For negative arguments, return NaN.
* modules/log-ieee (Files): Add m4/log-ieee.m4.
(configure.ac): Invoke gl_FUNC_LOG_IEEE.
* doc/posix-functions/log.texi: Mention the log-ieee module.
Tests for module 'logl-ieee'.
* modules/logl-ieee-tests: New file.
* tests/test-logl-ieee.c: New file.
New module 'logl-ieee'.
* modules/logl-ieee: New file.
Tests for module 'log-ieee'.
* modules/log-ieee-tests: New file.
* tests/test-log-ieee.c: New file.
New module 'log-ieee'.
* modules/log-ieee: New file.
Tests for module 'logf-ieee'.
* modules/logf-ieee-tests: New file.
* tests/test-logf-ieee.c: New file.
* tests/test-log-ieee.h: New file.
New module 'logf-ieee'.
* modules/logf-ieee: New file.
2012-03-10 Bruno Haible
log: Fix bug introduced on 2012-03-09.
* m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2012-03-10 Pádraig Brady
timer-time: link explicitly with pthreads on glibc
* m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
to support static linking, when newer glibc is
detected, as that contains pthread emulation of
POSIX timer functions where required.
* modules/timer-time: Depend on threadlib to
pull in the appropriate library to link.
2012-03-10 Bruno Haible
log* tests: More tests.
* tests/test-log.h: New file.
* tests/test-log.c: Include , minus-zero.h, test-log.h.
(main): Invoke test_function.
* tests/test-logf.c: Include , minus-zero.h, test-log.h.
(main): Invoke test_function.
* tests/test-logl.c: Include , minus-zero.h, test-log.h.
(main): Invoke test_function.
* modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
tests/randomd.c.
(Makefile.am): Add randomd.c to test_log_SOURCES.
* modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
tests/randomf.c.
(Makefile.am): Add randomf.c to test_logf_SOURCES.
* modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_logl_SOURCES.
2012-03-09 Bruno Haible
logl: Work around OSF/1 5.1 bug.
* lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
* lib/logl.c (logl): If logf exists, use it and provide just the
workaround.
* m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
(gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
* modules/math (Makefile.am): Substitute REPLACE_LOGL.
* modules/logl (configure.ac): Consider REPLACE_LOGL.
(Depends-on): Update conditions.
* doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2012-03-09 Bruno Haible
logf: Work around OSF/1 5.1 bug.
* lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
* lib/logf.c (logf): If logf exists, use it and provide just the
workaround.
* m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
(gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
* modules/math (Makefile.am): Substitute REPLACE_LOGF.
* modules/logf (configure.ac): Consider REPLACE_LOGF.
(Depends-on): Update conditions.
* doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2012-03-09 Bruno Haible
log: Work around OSF/1 5.1 bug.
* lib/math.in.h (log): New declaration.
* lib/log.c: New file.
* m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
(gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
* m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
* modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
* modules/log (Files): Add lib/log.c.
(Depends-on): Add math.
(configure.ac): If REPLACE_LOG is 1, compile an override.
* tests/test-math-c++.cc: Check the declaration of log.
* doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2012-03-09 Jim Meyering
readtokens.c: adjust wording in a comment
* lib/readtokens.c: Insert omitted "that" in a comment.
2012-03-08 Paul Eggert
modechange: add notations +40, 00440, etc.
* lib/modechange.c (mode_compile): Support new notations
+40, -40, =440, 00440. See .
2012-03-08 Bruno Haible
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
* m4/exp2l-ieee.m4: New file.
* m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
test whether exp2l works with a NaN argument and with a negative
infinity argument. Replace it if not.
* lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
* modules/math (Makefile.am): Substitute REPLACE_EXP2L.
* modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
(Depends-on): Update conditions.
* modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
(configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
* doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
Tests for module 'exp2l-ieee'.
* modules/exp2l-ieee-tests: New file.
* tests/test-exp2l-ieee.c: New file.
New module 'exp2l-ieee'.
* modules/exp2l-ieee: New file.
Tests for module 'exp2-ieee'.
* modules/exp2-ieee-tests: New file.
* tests/test-exp2-ieee.c: New file.
New module 'exp2-ieee'.
* modules/exp2-ieee: New file.
Tests for module 'exp2f-ieee'.
* modules/exp2f-ieee-tests: New file.
* tests/test-exp2f-ieee.c: New file.
* tests/test-exp2-ieee.h: New file.
New module 'exp2f-ieee'.
* modules/exp2f-ieee: New file.
2012-03-08 Bruno Haible
Tests for module 'exp2l'.
* modules/exp2l-tests: New file.
* tests/test-exp2l.c: New file.
New module 'exp2l'.
* lib/math.in.h (exp2l): New declaration.
* lib/exp2l.c: New file.
* lib/expl-table.c: New file, extracted from lib/expl.c.
* lib/expl.c (gl_expl_table): New declaration.
(expl): Remove expl_table. Update reference.
* m4/exp2l.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
* modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
* modules/exp2l: New file.
* modules/expl (Files): Add lib/expl-table.c.
(configure.ac): Compile also expl-table.c.
* tests/test-math-c++.cc: Check the declaration of exp2l.
* doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
problem.
2012-03-08 Bruno Haible
Tests for module 'exp2f'.
* modules/exp2f-tests: New file.
* tests/test-exp2f.c: New file.
New module 'exp2f'.
* lib/math.in.h (exp2f): New declaration.
* lib/exp2f.c: New file.
* m4/exp2f.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
* modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
* modules/exp2f: New file.
* tests/test-math-c++.cc: Check the declaration of exp2f.
* doc/posix-functions/exp2f.texi: Mention the new module and the
IRIX problem.
2012-03-08 Bruno Haible
Tests for module 'exp2'.
* modules/exp2-tests: New file.
* tests/test-exp2.c: New file.
* tests/test-exp2.h: New file.
New module 'exp2'.
* lib/math.in.h (exp2): New declaration.
* lib/exp2.c: New file.
* m4/exp2.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
REPLACE_EXP2.
* modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
REPLACE_EXP2.
* modules/exp2: New file.
* tests/test-math-c++.cc: Check the declaration of exp2.
* doc/posix-functions/exp2.texi: Mention the new module and the IRIX
and OpenBSD problems.
2012-03-08 Paul Eggert
savedir: fix comment typo
* lib/savedir.c (savedirstream): Fix typo in comment.
2012-03-08 Bruno Haible
test-readtokens.c: use const; remove unwarranted cast
* tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
2012-03-08 Bruno Haible
fmal: Avoid compilation error on AIX.
* lib/math.in.h (fmal): Undefine macro before declaration. Needed on
AIX 5.2..7.1.
2012-03-08 Bruno Haible
fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
* m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
* m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
* m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
2012-03-08 Bruno Haible
remainderf: Override buggy system function on IRIX 6.5.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
(gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
when it exists.
* doc/posix-functions/remainderf.texi: Mention the IRIX problems.
2012-03-08 Jim Meyering
test-readtokens.c: avoid const-related compilation warnings
* tests/test-readtokens.c: Avoid const-related compilation warnings.
2012-03-07 Jim Meyering
Bruno Haible
frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
* modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
tests/randomd.c.
(Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
* modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
tests/randoml.c.
(Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
2012-03-07 Bruno Haible
expm1l: Avoid compilation error on AIX.
* lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
AIX 5.2..7.1.
2012-03-07 Bruno Haible
expm1l: Don't override undeclared system function on IRIX 6.5.
* lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
* m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
it exists. Set HAVE_DECL_EXPM1L.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
HAVE_EXPM1L.
* modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
HAVE_EXPM1L.
* doc/posix-functions/expm1l.texi: Mention missing declaration problem.
2012-03-07 Bruno Haible
remainderl: Don't override undeclared system function on IRIX 6.5.
* lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
HAVE_REMAINDERL.
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
declared when it exists. Set HAVE_DECL_REMAINDERL.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
not HAVE_REMAINDERL.
* modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
HAVE_REMAINDERL.
* doc/posix-functions/remainderl.texi: Mention missing declaration
problem.
2012-03-07 Bruno Haible
rintf: Don't override undeclared system function on IRIX 6.5.
* lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
* m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
exists. Set HAVE_DECL_RINTF.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
HAVE_RINTF.
* modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
HAVE_RINTF.
* doc/posix-functions/rintf.texi: Mention missing declaration problem.
2012-03-07 Bruno Haible
roundl: Avoid compilation error on AIX.
* lib/math.in.h (roundl): Undefine macro before declaration. Needed on
AIX 5.2..7.1.
2012-03-07 Bruno Haible
roundl: Don't override undeclared system function on IRIX 6.5.
* m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
also when it is not declared. Set HAVE_ROUNDL. For replacement code,
test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
* modules/roundl (configure.ac): For replacement code, test
HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
(Depends-on): Update conditions.
* doc/posix-functions/roundl.texi: Mention the IRIX problem.
2012-03-07 Bruno Haible
roundf: Don't override undeclared system function on IRIX 6.5.
* m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
also when it is not declared. Set HAVE_ROUNDF. For replacement code,
test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
* modules/roundf (configure.ac): For replacement code, test
HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
(Depends-on): Update conditions.
* modules/roundf-ieee (Depends-on): Update conditions.
* doc/posix-functions/roundf.texi: Mention the IRIX problem.
2012-03-07 Bruno Haible
round: Don't override undeclared system function on IRIX 6.5.
* m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
argument.
* m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
also when it is not declared. Set HAVE_ROUND. For replacement code,
test HAVE_ROUND, not HAVE_DECL_ROUND.
* modules/round (configure.ac): For replacement code, test HAVE_ROUND,
not HAVE_DECL_ROUND.
(Depends-on): Update conditions.
* modules/round-ieee (Depends-on): Update conditions.
* doc/posix-functions/round.texi: Mention the IRIX problem.
2012-03-07 Bruno Haible
copysignf: Don't override undeclared system function on IRIX 6.5.
* lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
HAVE_COPYSIGNF.
* m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
declared when it exists. Set HAVE_DECL_COPYSIGNF.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
not HAVE_COPYSIGNF.
* modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
HAVE_COPYSIGNF.
* doc/posix-functions/copysignf.texi: Mention missing declaration
problem.
2012-03-07 Jim Meyering
readtokens: add tests
* modules/readtokens-tests: New file.
* tests/test-readtokens.c: New file.
2012-03-07 Jim Meyering
quotearg: the module must now include quote.h
With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
So must the module.
* modules/quotearg (Files): Add quote.h.
2012-03-06 Paul Eggert
readtokens: avoid core dumps with unusual calling patterns
Reported by Xu Zhongxing in .
* lib/readtokens.c: Include limits.h.
(word, bits_per_word, get_nth_bit, set_nth_bit): New.
(readtoken): Don't cache the delimiters; the cache code was buggy
if !delim && saved_delim, or if the new n_delim differs from the old.
Also, it wasn't thread-safe.
2012-03-07 Bruno Haible
quote: Adhere to common module description layout.
* modules/quote (Makefile.am): Add back empty section.
2012-03-06 Akim Demaille
quote: fuse into quotearg
This patch is made for the benefit of Bison.
quote does not leave the choice of the quoting style to the user.
quoting_style provides poor customizability, yet quoting_options,
which is very rich, is hidden inside quotearg.c. So in order to
allow quote customization, move its implementation to quotearg.c.
* lib/quote.c: Remove.
* modules/quote: Adjust.
* lib/quotearg.c (quoting_options_from_style): Fix a compiler
warning: provide all the members of literal structs.
(quote_quoting_options): New.
(quote, quote_n): Import implementation from quote.c.
* lib/quote.h: Import the comments from quote.c.
(quote_quoting_options): New.
2012-03-06 Bruno Haible
Tests for module 'expm1l-ieee'.
* modules/expm1l-ieee-tests: New file.
* tests/test-expm1l-ieee.c: New file.
New module 'expm1l-ieee'.
* modules/expm1l-ieee: New file.
Tests for module 'expm1f-ieee'.
* modules/expm1f-ieee-tests: New file.
* tests/test-expm1f-ieee.c: New file.
New module 'expm1f-ieee'.
* modules/expm1f-ieee: New file.
Tests for module 'expm1-ieee'.
* modules/expm1-ieee-tests: New file.
* tests/test-expm1-ieee.c: New file.
* tests/test-expm1-ieee.h: New file.
New module 'expm1-ieee'.
* modules/expm1-ieee: New file.
* m4/expm1-ieee.m4: New file.
* m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
whether expm1 works with a minus zero argument. Replace it if not.
* lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
* modules/math (Makefile.am): Substitute REPLACE_EXPM1.
* modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
(Depends-on): Update conditions.
* doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
AIX problem.
2012-03-06 Bruno Haible
Work around expm1f bug on IRIX 6.5.
* lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
* m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
(gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
not work.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
* modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
* modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
(Depends-on): Update conditions.
* doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2012-03-06 Bruno Haible
Tests for module 'expm1l'.
* modules/expm1l-tests: New file.
* tests/test-expm1l.c: New file.
New module 'expm1l'.
* lib/math.in.h (expm1l): New declaration.
* lib/expm1l.c: New file.
* m4/expm1l.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
* modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
* modules/expm1l: New file.
* tests/test-math-c++.cc: Check the declaration of expm1l.
* doc/posix-functions/expm1l.texi: Mention the new module.
2012-03-06 Bruno Haible
Tests for module 'expm1f'.
* modules/expm1f-tests: New file.
* tests/test-expm1f.c: New file.
New module 'expm1f'.
* lib/math.in.h (expm1f): New declaration.
* lib/expm1f.c: New file.
* m4/expm1f.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
* modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
* modules/expm1f: New file.
* tests/test-math-c++.cc: Check the declaration of expm1f.
* doc/posix-functions/expm1f.texi: Mention the new module.
2012-03-06 Bruno Haible
Tests for module 'expm1'.
* modules/expm1-tests: New file.
* tests/test-expm1.c: New file.
* tests/test-expm1.h: New file.
New module 'expm1'.
* lib/math.in.h (expm1): New declaration.
* lib/expm1.c: New file.
* m4/expm1.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
* modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
* modules/expm1: New file.
* tests/test-math-c++.cc: Check the declaration of expm1.
* doc/posix-functions/expm1.texi: Mention the new module.
2012-03-06 Bruno Haible
math: Ensure declarations of math functions.
* modules/acosf (Depends-on): Add 'extensions'.
* modules/asinf (Depends-on): Likewise.
* modules/atan2f (Depends-on): Likewise.
* modules/atanf (Depends-on): Likewise.
* modules/cbrt (Depends-on): Likewise.
* modules/cbrtf (Depends-on): Likewise.
* modules/cbrtl (Depends-on): Likewise.
* modules/copysignf (Depends-on): Likewise.
* modules/copysignl (Depends-on): Likewise.
* modules/cosf (Depends-on): Likewise.
* modules/coshf (Depends-on): Likewise.
* modules/expf (Depends-on): Likewise.
* modules/fabsf (Depends-on): Likewise.
* modules/fabsl (Depends-on): Likewise.
* modules/fmaf (Depends-on): Likewise.
* modules/fmal (Depends-on): Likewise.
* modules/fmodf (Depends-on): Likewise.
* modules/fmodl (Depends-on): Likewise.
* modules/frexpf (Depends-on): Likewise.
* modules/frexpl (Depends-on): Likewise.
* modules/hypot (Depends-on): Likewise.
* modules/hypotf (Depends-on): Likewise.
* modules/hypotl (Depends-on): Likewise.
* modules/ldexpf (Depends-on): Likewise.
* modules/ldexpl (Depends-on): Likewise.
* modules/log10f (Depends-on): Likewise.
* modules/log10l (Depends-on): Likewise.
* modules/log1p (Depends-on): Likewise.
* modules/logb (Depends-on): Likewise.
* modules/logf (Depends-on): Likewise.
* modules/modff (Depends-on): Likewise.
* modules/modfl (Depends-on): Likewise.
* modules/powf (Depends-on): Likewise.
* modules/remainderf (Depends-on): Likewise.
* modules/remainderl (Depends-on): Likewise.
* modules/rintf (Depends-on): Likewise.
* modules/rintl (Depends-on): Likewise.
* modules/sinf (Depends-on): Likewise.
* modules/sinhf (Depends-on): Likewise.
* modules/sqrtf (Depends-on): Likewise.
* modules/tanf (Depends-on): Likewise.
* modules/tanhf (Depends-on): Likewise.
* m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
* m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
* m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
* m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
* m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
* m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
* m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
* m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
* m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
* m4/cosf.m4 (gl_FUNC_COSF): Likewise.
* m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
* m4/expf.m4 (gl_FUNC_EXPF): Likewise.
* m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
* m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
* m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
* m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
* m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
* m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
* m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
* m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
* m4/logb.m4 (gl_FUNC_LOGB): Likewise.
* m4/logf.m4 (gl_FUNC_LOGF): Likewise.
* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
* m4/powf.m4 (gl_FUNC_POWF): Likewise.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
* m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
* m4/sinf.m4 (gl_FUNC_SINF): Likewise.
* m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
* m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
* m4/tanf.m4 (gl_FUNC_TANF): Likewise.
* m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
2012-03-06 Bruno Haible
math: Update module names in warnings.
* lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
tanl): Use specific module name in warn-on-use warning.
2012-03-06 Bruno Haible
expl: Simplify computation.
* lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
2012-03-05 Bruno Haible
exp* tests: More tests.
* tests/test-exp.h: New file.
* tests/test-exp.c: Include and test-exp.h.
(main): Invoke test_function.
* tests/test-expf.c: Include and test-exp.h.
(main): Invoke test_function.
* tests/test-expl.c: Include and test-exp.h.
(main): Invoke test_function.
* modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_exp_SOURCES.
* modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
(Makefile.am): Add randomf.c to test_expf_SOURCES.
* modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_expl_SOURCES.
expl: Fix precision of computed result.
* lib/expl.c: Completely rewritten.
* modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
(Maintainer): Add me.
* m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
2012-03-05 Bruno Haible
cbrt* tests: More tests.
* tests/test-cbrt.h: New file.
* tests/test-cbrt.c: Include and test-cbrt.h.
(main): Invoke test_function.
* tests/test-cbrtf.c: Include and test-cbrt.h.
(main): Invoke test_function.
* tests/test-cbrtl.c: Include and test-cbrt.h.
(main): Invoke test_function.
* modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_cbrt_SOURCES.
* modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
(Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
* modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
2012-03-05 Bruno Haible
hypot* tests: More tests.
* tests/test-hypot.h: New file, partially extracted from
tests/test-hypotl.c.
* tests/test-hypot.c: Include test-hypot.h.
(main): Invoke test_function.
* tests/test-hypotf.c: Include test-hypot.h.
(main): Invoke test_function.
* tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
(main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
* modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_hypot_SOURCES.
* modules/hypotf-tests (Files): Add tests/test-hypot.h,
tests/randomf.c.
(Makefile.am): Add randomf.c to test_hypotf_SOURCES.
* modules/hypotl-tests (Files): Add tests/test-hypot.h,
tests/randoml.c.
(Depends-on): Add 'fpucw', 'float'.
(Makefile.am): Add randoml.c to test_hypotl_SOURCES.
2012-03-05 Bruno Haible
fpucw: Doc about FreeBSD.
* lib/fpucw.h: Mention FreeBSD in comments.
2012-03-04 Bruno Haible
sqrt* tests: More tests.
* tests/test-sqrt.h: New file.
* tests/test-sqrt.c: Include and test-sqrt.h.
(main): Invoke test_function.
* tests/test-sqrtf.c: Include and test-sqrt.h.
(main): Invoke test_function.
* tests/test-sqrtl.c: Include and test-sqrt.h.
(main): Invoke test_function.
* modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_sqrt_SOURCES.
* modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
(Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
* modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
2012-03-04 Bruno Haible
remainder* tests: More tests.
* tests/test-remainder.h: New file, based on tests/test-fmod.h.
* tests/test-remainder.c: Include and test-remainder.h.
(main): Invoke test_function.
* tests/test-remainderf.c: Include and test-remainder.h.
(main): Invoke test_function.
* tests/test-remainderl.c: Include and test-remainder.h.
(main): Invoke test_function.
* modules/remainder-tests (Files): Add tests/test-remainder.h,
tests/randomd.c.
(Makefile.am): Add randomd.c to test_remainder_SOURCES.
* modules/remainderf-tests (Files): Add tests/test-remainder.h,
tests/randomf.c.
(Makefile.am): Add randomf.c to test_remainderf_SOURCES.
* modules/remainderl-tests (Files): Add tests/test-remainder.h,
tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_remainderl_SOURCES.
2012-03-04 Bruno Haible
remainder, remainderf, remainderl: Fix computation for large quotients.
* lib/remainder.c: Completely rewritten.
* lib/remainderf.c (remainderf): Use implementation of remainder.c with
USE_FLOAT.
* lib/remainderl.c (remainderl): Use implementation of remainder.c with
USE_LONG_DOUBLE.
* modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
isnand, isinf. Remove round, fma.
* modules/remainderf (Files): Add lib/remainder.c.
(Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
Remove roundf, fmaf.
* modules/remainderl (Files): Add lib/remainder.c.
(Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
isinf. Remove roundl, fmal.
* m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
REMAINDER_LIBM.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
REMAINDERF_LIBM.
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
REMAINDERL_LIBM.
2012-03-04 Bruno Haible
fmod* tests: More tests.
* tests/test-fmod.h (my_ldexp): New function.
(test_function): Reduce amount of random numbers to test. Add tests
of very large quotients x / y.
* tests/test-fmod.c (MAX_EXP): New macro.
* tests/test-fmodf.c (MAX_EXP): Likewise.
* tests/test-fmodl.c (MAX_EXP): Likewise.
2012-03-04 Bruno Haible
fmod, fmodl: Fix computation for large quotients x / y.
* lib/fmod.c: Completely rewritten.
* lib/fmodl.c (fmodl): Use implementation of fmod.c with
USE_LONG_DOUBLE.
* modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
isnand. Remove fma.
* modules/fmodl (Files): Add lib/fmod.c.
(Depends-on): Add float, isfinite, signbit, fabsl,
frexpl, ldexpl, isnanl. Remove fma.
* m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
* m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
2012-03-03 Bruno Haible
fmod* tests: More tests.
* tests/test-fmod.h: New file.
* tests/test-fmod.c: Include and test-fmod.h.
(main): Invoke test_function.
* tests/test-fmodf.c: Include and test-fmod.h.
(main): Invoke test_function.
* tests/test-fmodl.c: Include and test-fmod.h.
(main): Invoke test_function.
* modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_fmod_SOURCES.
* modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
(Makefile.am): Add randomf.c to test_fmodf_SOURCES.
* modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_fmodl_SOURCES.
2012-03-03 Bruno Haible
rint* tests: More tests.
* tests/test-rint.h: New file, partially extracted from
tests/test-rintl.c.
* tests/test-rint.c: Include test-rint.h.
(main): Invoke test_function.
* tests/test-rintf.c: Include test-rint.h.
(main): Invoke test_function.
* tests/test-rintl.c: Include test-rint.h.
(main): Invoke test_function.
* modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_rint_SOURCES.
* modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
(Makefile.am): Add randomf.c to test_rintf_SOURCES.
* modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
(Makefile.am): Add randoml.c to test_rintl_SOURCES.
2012-03-03 Bruno Haible
modf* tests: More tests.
* tests/test-modf.h: New file.
* tests/test-modf.c: Include and test-modf.h.
(main): Invoke test_function.
* tests/test-modff.c: Include and test-modf.h.
(main): Invoke test_function.
* tests/test-modfl.c: Include and test-modf.h.
(main): Invoke test_function.
* modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_modf_SOURCES.
* modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
(Makefile.am): Add randomf.c to test_modff_SOURCES.
* modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
(Depends-on): Add 'float'.
(Makefile.am): Add randoml.c to test_modfl_SOURCES.
2012-03-03 Bruno Haible
fabs* tests: More tests.
* tests/test-fabs.h: New file, partially extracted from
tests/test-fabsl.c.
* tests/test-fabs.c (RANDOM): New macro.
* tests/test-fabsf.c (RANDOM): New macro.
* tests/test-fabsl.c (RANDOM): New macro.
* modules/fabs-tests (Files): Add tests/randomd.c.
(Makefile.am): Add randomd.c to test_fabs_SOURCES.
* modules/fabsf-tests (Files): Add tests/randomf.c.
(Makefile.am): Add randomf.c to test_fabsf_SOURCES.
* modules/fabsl-tests (Files): Add tests/randoml.c.
(Makefile.am): Add randoml.c to test_fabsl_SOURCES.
2012-03-03 Bruno Haible
ldexp* tests: More tests.
* tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
* tests/test-ldexp.c (RANDOM): New macro.
* tests/test-ldexpf.c (RANDOM): New macro.
* tests/test-ldexpl.c (RANDOM): New macro.
* modules/ldexp-tests (Files): Add tests/randomd.c.
(Makefile.am): Add randomd.c to test_ldexp_SOURCES.
* modules/ldexpf-tests (Files): Add tests/randomf.c.
(Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
* modules/ldexpl-tests (Files): Add tests/randoml.c.
(Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
2012-03-03 Bruno Haible
frexp* tests: More tests.
* tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
* tests/test-frexp.c (RANDOM): New macro.
* tests/test-frexpf.c (RANDOM): New macro.
* tests/test-frexpl.c (RANDOM): New macro.
* modules/frexp-tests (Files): Add tests/randomd.c.
(Makefile.am): Add randomd.c to test_frexp_SOURCES.
* modules/frexpf-tests (Files): Add tests/randomf.c.
(Makefile.am): Add randomf.c to test_frexpf_SOURCES.
* modules/frexpl-tests (Files): Add tests/randoml.c.
(Makefile.am): Add randoml.c to test_frexpl_SOURCES.
2012-03-03 Bruno Haible
Support for pseudo-random numbers in tests.
* tests/randomf.c: New file.
* tests/randomd.c: New file.
* tests/randoml.c: New file.
* tests/macros.h (randomf, randomd, randoml): New declarations.
2012-03-03 Bruno Haible
frexp* tests: Refactor.
* tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
* tests/test-frexp.c: Include and use it.
* tests/test-frexpf.c: Likewise.
* tests/test-frexpl.c: Likewise.
* modules/frexp-tests (Files): Add tests/test-frexp.h.
* modules/frexpf-tests (Files): Likewise.
* modules/frexpl-tests (Files): Likewise.
2012-03-02 Jim Meyering
maint: don't specify XZ_OPT=-9ev in dist-related rule
Using xz's -9 option is warranted only if you have a very large
tarball (see xz's documentation for the sizes vs. presets), and
requires 64MiB of memory at decompression time.
* top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
Automake's default of just "-e" is fine. Override on a
per-package basis by setting XZ_OPT e.g., in cfg.mk.
2012-03-01 Eric Blake
maint.mk: allow announcement for non-gnulib project
* maint.mk (announcement): Skip gnulib version if not used.
2012-03-01 Jim Meyering
maint.mk: avoid spurious failure of _sc_search_regexp-using tests
* top/maint.mk: Initialize _sc_search_regexp parameters, so that
envvar settings cannot interfere. Otherwise, setting envvars like
prohibit=foo require=bar, etc. would cause spurious test failures.
2012-03-01 Eric Blake
maint.mk: add per-line exclusions to prohibitions
* maint.mk (_sc_search_regexp): Add $exclude parameter.
(sc_prohibit_strcmp, sc_unmarked_diagnostics)
(sc_const_long_option): Use it.
2012-03-01 Bruno Haible
Tests for module 'expl-ieee'.
* modules/expl-ieee-tests: New file.
* tests/test-expl-ieee.c: New file.
New module 'expl-ieee'.
* modules/expl-ieee: New file.
Tests for module 'exp-ieee'.
* modules/exp-ieee-tests: New file.
* tests/test-exp-ieee.c: New file.
New module 'exp-ieee'.
* modules/exp-ieee: New file.
Tests for module 'expf-ieee'.
* modules/expf-ieee-tests: New file.
* tests/test-expf-ieee.c: New file.
* tests/test-exp-ieee.h: New file.
New module 'expf-ieee'.
* modules/expf-ieee: New file.
2012-02-29 Bruno Haible
cbrtl-ieee: Work around test failure on IRIX 6.5.
* m4/cbrtl-ieee.m4: New file.
* m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
test whether cbrtl works with a minus zero argument. Replace it if not.
* lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
* modules/math (Makefile.am): Substitute REPLACE_CBRTL.
* modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
(Depends-on): Update conditions.
* modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
* lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
* doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
Tests for module 'cbrtl-ieee'.
* modules/cbrtl-ieee-tests: New file.
* tests/test-cbrtl-ieee.c: New file.
New module 'cbrtl-ieee'.
* modules/cbrtl-ieee: New file.
Tests for module 'cbrt-ieee'.
* modules/cbrt-ieee-tests: New file.
* tests/test-cbrt-ieee.c: New file.
New module 'cbrt-ieee'.
* modules/cbrt-ieee: New file.
Tests for module 'cbrtf-ieee'.
* modules/cbrtf-ieee-tests: New file.
* tests/test-cbrtf-ieee.c: New file.
* tests/test-cbrt-ieee.h: New file.
New module 'cbrtf-ieee'.
* modules/cbrtf-ieee: New file.
2012-02-29 Bruno Haible
cbrtf: Work around bug in IRIX 6.5 system function.
* lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
* m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
(gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
work.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
* modules/math (Makefile.am): Substitute REPLACE_CBRTF.
* modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
(Depends-on): Update conditions.
* doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
2012-02-29 Bruno Haible
Tests for module 'cbrtl'.
* modules/cbrtl-tests: New file.
* tests/test-cbrtl.c: New file.
New module 'cbrtl'.
* lib/math.in.h (cbrtl): New declaration.
* lib/cbrtl.c: New file.
* m4/cbrtl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
HAVE_DECL_CBRTL.
* modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
HAVE_DECL_CBRTL.
* modules/cbrtl: New file.
* tests/test-math-c++.cc: Check the declaration of cbrtl.
* doc/posix-functions/cbrtl.texi: Mention the new module.
2012-02-29 Bruno Haible
Tests for module 'cbrtf'.
* modules/cbrtf-tests: New file.
* tests/test-cbrtf.c: New file.
New module 'cbrtf'.
* lib/math.in.h (cbrtf): New declaration.
* lib/cbrtf.c: New file.
* m4/cbrtf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
HAVE_DECL_CBRTF.
* modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
HAVE_DECL_CBRTF.
* modules/cbrtf: New file.
* tests/test-math-c++.cc: Check the declaration of cbrtf.
* doc/posix-functions/cbrtf.texi: Mention the new module.
2012-02-29 Bruno Haible
cbrt: Provide replacement on MSVC and Minix.
* lib/math.in.h (cbrt): New declaration.
* lib/cbrt.c: New file.
* m4/cbrt.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
* modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
* modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
(Depends-on): Add dependencies.
(configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
* tests/test-math-c++.cc: Check the declaration of cbrt.
* doc/posix-functions/cbrt.texi: Mention that the module provides a
replacement.
2012-02-29 Bruno Haible
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
* m4/hypotl-ieee.m4: New file.
* m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
test whether hypotl works with mixed NaN and Infinity arguments.
Replace it if not.
* lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
* modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
* modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
(Depends-on): Update conditions.
* modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
(Depends-on): Add hypot-ieee.
(configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
* doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
hypotf-ieee: Work around test failure on OSF/1 and native Windows.
* m4/hypotf-ieee.m4: New file.
* m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
test whether hypotf works with mixed NaN and Infinity arguments.
Replace it if not.
* modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
(Depends-on): Add hypot-ieee.
(configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
* doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
hypot-ieee: Work around test failure on OSF/1 and native Windows.
* lib/math.in.h (hypot): New declaration.
* lib/hypot.c: New file.
* m4/hypot-ieee.m4: New file.
* m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
whether hypot works with mixed NaN and Infinity arguments. Replace it
if not.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
REPLACE_HYPOT.
* modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
* modules/hypot (Files): Add lib/hypot.c.
(Depends-on): Add dependencies.
(configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
* modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
(configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
* tests/test-math-c++.cc: Check the declaration of hypot.
* doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
Tests for module 'hypotl-ieee'.
* modules/hypotl-ieee-tests: New file.
* tests/test-hypotl-ieee.c: New file.
New module 'hypotl-ieee'.
* modules/hypotl-ieee: New file.
Tests for module 'hypot-ieee'.
* modules/hypot-ieee-tests: New file.
* tests/test-hypot-ieee.c: New file.
New module 'hypot-ieee'.
* modules/hypot-ieee: New file.
Tests for module 'hypotf-ieee'.
* modules/hypotf-ieee-tests: New file.
* tests/test-hypotf-ieee.c: New file.
* tests/test-hypot-ieee.h: New file.
New module 'hypotf-ieee'.
* modules/hypotf-ieee: New file.
2012-02-29 Bruno Haible
Remove unused variables.
* m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
2012-02-29 Eric Blake
termios: fix pid_t always, not just for tcgetsid
* doc/posix-headers/termios.texi (termios.h): Mention problem.
* lib/termios.in.h (include): Ensure pid_t on all platforms, not
just when building tcgetsid.
2012-02-29 Bruno Haible
Tests for module 'hypotl'.
* modules/hypotl-tests: New file.
* tests/test-hypotl.c: New file.
New module 'hypotl'.
* lib/math.in.h (hypotl): New declaration.
* lib/hypotl.c: New file.
* m4/hypotl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
* modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
* modules/hypotl: New file.
* tests/test-math-c++.cc: Check the hypotl declaration.
* doc/posix-functions/hypotl.texi: Mention the new module.
2012-02-29 Eric Blake
tcgetsid: fix cygwin header bug
* lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
docs: update cygwin progress
* doc/posix-functions/llround.texi (llround): Added in cygwin
1.7.8.
* doc/posix-functions/llroundf.texi (llroundf): Likewise.
* doc/glibc-functions/program_invocation_name.texi
(program_invocation_name): Likewise.
* doc/glibc-functions/program_invocation_short_name.texi
(program_invocation_short_name): Likewise.
* doc/glibc-functions/madvise.texi (madvise): Likewise.
* doc/glibc-functions/pthread_yield.texi (pthread_yield):
Likewise.
* doc/posix-functions/pthread_spin_destroy.texi
(pthread_spin_destroy): Added in cygwin 1.7.10.
* doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
Likewise.
* doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
Likewise.
* doc/posix-functions/pthread_spin_trylock.texi
(pthread_spin_trylock): Likewise.
* doc/posix-functions/pthread_spin_unlock.texi
(pthread_spin_unlock): Likewise.
* doc/posix-functions/pthread_setschedprio.texi
(pthread_setschedprio): Likewise.
* doc/posix-functions/pthread_attr_getstack.texi
(pthread_attr_getstack): Likewise.
* doc/pastposix-functions/pthread_attr_getstackaddr.texi
(pthread_attr_getstackaddr): Likewise.
* doc/glibc-functions/pthread_getattr_np.texi
(pthread_getattr_np): Likewise.
* doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
* doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
* doc/posix-functions/clock_settime.texi (clock_settime):
Likewise.
* doc/posix-functions/pthread_attr_getguardsize.texi
(pthread_attr_getguardsize): Likewise.
* doc/posix-functions/pthread_attr_setguardsize.texi
(pthread_attr_setguardsize): Likewise.
* doc/posix-functions/pthread_attr_setstack.texi
(pthread_attr_setstack): Likewise.
* doc/pastposix-functions/pthread_attr_setstackaddr.texi
(pthread_attr_setstackaddr): Likewise.
* doc/posix-functions/clock_getcpuclockid.texi
(clock_getcpuclockid): Likewise.
* doc/posix-functions/pthread_getcpuclockid.texi
(pthread_getcpuclockid): Likewise.
* doc/glibc-functions/error.texi (error): Likewise.
* doc/glibc-functions/error_at_line.texi (error_at_line):
Likewise.
* doc/glibc-functions/error_message_count.texi
(error_message_count): Likewise.
* doc/glibc-functions/error_one_per_line.texi
(error_one_per_line): Likewise.
* doc/glibc-functions/error_print_progname.texi
(error_print_progname): Likewise.
* doc/posix-functions/pthread_condattr_getclock.texi
(pthread_condattr_getclock): Likewise.
* doc/posix-functions/pthread_condattr_setclock.texi
(pthread_condattr_setclock): Likewise.
* doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
Likewise.
* doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
* doc/glibc-functions/getpt.texi (getpt): Likewise.
* doc/glibc-functions/get_current_dir_name.texi
(get_current_dir_name): Likewise.
* doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
Likewise.
* doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
wrong return type.
* doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1.7.11.
2012-02-29 Bruno Haible
Tests for module 'hypotf'.
* modules/hypotf-tests: New file.
* tests/test-hypotf.c: New file.
New module 'hypotf'.
* lib/math.in.h (hypotf): New declaration.
* lib/hypotf.c: New file.
* m4/hypotf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
REPLACE_HYPOTF.
* modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
REPLACE_HYPOTF.
* modules/hypotf: New file.
* tests/test-math-c++.cc: Check the hypotf declaration.
* doc/posix-functions/hypotf.texi: Mention the new module.
hypot: Prepare for hypotf module.
* m4/hypot.m4: New file.
* modules/hypot (Files): Add m4/hypot.m4.
(configure.ac): Invoke gl_FUNC_HYPOT.
2012-02-29 Bruno Haible
hypot tests: More tests.
* tests/test-hypot.c: Include .
(main): Add tests about overflow and underflow.
2012-02-29 Bruno Haible
math code: Add comments.
* lib/acosl.c: Add comment about related glibc source files.
* lib/asinl.c: Likewise.
* lib/atanl.c: Likewise.
* lib/expl.c: Likewise.
* lib/logl.c: Likewise.
* lib/sincosl.c: Likewise.
* lib/sinl.c: Likewise.
* lib/tanl.c: Likewise.
* lib/trigl.c: Likewise.
* lib/cosl.c: Likewise. Fix comments.
2012-02-28 Bruno Haible
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
* lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
* tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
HUGE_VALL are defined.
(numeric_equald): Renamed from numeric_equal.
(numeric_equalf, numeric_equall): New functions.
(main): Check also HUGE_VALF, HUGE_VALL.
* modules/math-tests (Files): Add tests/macros.h.
* doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
HUGE_VALL.
2012-02-28 Bruno Haible
doc: Move ISO C11 feature notes into POSIX chapters.
* doc/posix-functions/aligned_alloc.texi: Renamed from
doc/glibc-functions/aligned_alloc.texi.
* doc/posix-functions/quick_exit.texi: Renamed from
doc/glibc-functions/quick_exit.texi.
* doc/posix-headers/uchar.texi: Renamed from
doc/glibc-headers/uchar.texi.
* doc/posix-functions/c16rtomb.texi: Renamed from
doc/glibc-functions/c16rtomb.texi.
* doc/posix-functions/c32rtomb.texi: Renamed from
doc/glibc-functions/c32rtomb.texi.
* doc/posix-functions/mbrtoc16.texi: Renamed from
doc/glibc-functions/mbrtoc16.texi.
* doc/posix-functions/mbrtoc32.texi: Renamed from
doc/glibc-functions/mbrtoc32.texi.
* doc/gnulib.texi: Update.
(Glibc uchar.h): Remove section.
Suggested by Eric Blake.
2012-02-29 Paul Eggert
stdnoreturn: port to MSVC better
MSVC standard headers use __declspec(noreturn), so #define noreturn
to empty on that platform. Reported by Bruno Haible in
.
* lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
* doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
2012-02-28 Bruno Haible
doc: Mention new glibc headers and functions.
* doc/glibc-headers/uchar.texi: New file.
* doc/glibc-functions/aligned_alloc.texi: New file.
* doc/glibc-functions/c16rtomb.texi: New file.
* doc/glibc-functions/c32rtomb.texi: New file.
* doc/glibc-functions/clock_adjtime.texi: New file.
* doc/glibc-functions/fanotify_init.texi: New file.
* doc/glibc-functions/fanotify_mark.texi: New file.
* doc/glibc-functions/inet6_opt_append.texi: New file.
* doc/glibc-functions/inet6_opt_find.texi: New file.
* doc/glibc-functions/inet6_opt_finish.texi: New file.
* doc/glibc-functions/inet6_opt_get_val.texi: New file.
* doc/glibc-functions/inet6_opt_init.texi: New file.
* doc/glibc-functions/inet6_opt_next.texi: New file.
* doc/glibc-functions/inet6_opt_set_val.texi: New file.
* doc/glibc-functions/inet6_rth_add.texi: New file.
* doc/glibc-functions/inet6_rth_getaddr.texi: New file.
* doc/glibc-functions/inet6_rth_init.texi: New file.
* doc/glibc-functions/inet6_rth_reverse.texi: New file.
* doc/glibc-functions/inet6_rth_segments.texi: New file.
* doc/glibc-functions/inet6_rth_space.texi: New file.
* doc/glibc-functions/login.texi: New file.
* doc/glibc-functions/mbrtoc16.texi: New file.
* doc/glibc-functions/mbrtoc32.texi: New file.
* doc/glibc-functions/name_to_handle_at.texi: New file.
* doc/glibc-functions/ntp_gettimex.texi: New file.
* doc/glibc-functions/open_by_handle_at.texi: New file.
* doc/glibc-functions/prlimit.texi: New file.
* doc/glibc-functions/process_vm_readv.texi: New file.
* doc/glibc-functions/process_vm_writev.texi: New file.
* doc/glibc-functions/recvmmsg.texi: New file.
* doc/glibc-functions/scandirat.texi: New file.
* doc/glibc-functions/sendmmsg.texi: New file.
* doc/glibc-functions/setns.texi: New file.
* doc/glibc-functions/timespec_get.texi: New file.
* doc/gnulib.texi: Include them.
(Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
sections.
Reported by Eric Blake.
2012-02-28 Bruno Haible
Avoid compilation errors with MSVC option -fp:strict.
* lib/floor.c: Use MSVC specific pragma fenv_access.
* lib/ceil.c: Likewise.
* lib/trunc.c: Likewise.
* lib/round.c: Likewise.
* lib/rint.c: Likewise.
* lib/fma.c: Likewise.
* lib/integer_length.c: Likewise.
* m4/round.m4 (gl_FUNC_ROUND): Likewise.
* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
* tests/test-floor2.c: Likewise.
* tests/test-floorf2.c: Likewise.
* tests/test-ceil2.c: Likewise.
* tests/test-ceilf2.c: Likewise.
* tests/test-trunc2.c: Likewise.
* tests/test-truncf2.c: Likewise.
Reported by Michael Goffioul .
2012-02-27 Bruno Haible
Tests for module 'sqrtl-ieee'.
* modules/sqrtl-ieee-tests: New file.
* tests/test-sqrtl-ieee.c: New file.
New module 'sqrtl-ieee'.
* modules/sqrtl-ieee: New file.
Tests for module 'sqrt-ieee'.
* modules/sqrt-ieee-tests: New file.
* tests/test-sqrt-ieee.c: New file.
New module 'sqrt-ieee'.
* modules/sqrt-ieee: New file.
Tests for module 'sqrtf-ieee'.
* modules/sqrtf-ieee-tests: New file.
* tests/test-sqrtf-ieee.c: New file.
* tests/test-sqrt-ieee.h: New file.
New module 'sqrtf-ieee'.
* modules/sqrtf-ieee: New file.
2012-02-27 Bruno Haible
remainderl-ieee: Work around test failure on OSF/1.
* m4/remainderl-ieee.m4: New file.
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
present, test whether remainderl works with a zero second argument.
Replace it if not.
* lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
* modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
* modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
(Depends-on): Update conditions.
* modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
(Depends-on): Add remainder-ieee.
(configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
* doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
module.
remainderf-ieee: Work around test failure on OSF/1.
* m4/remainderf-ieee.m4: New file.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
present, test whether remainderf works with a zero second argument.
Replace it if not.
* lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
* modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
* modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
(Depends-on): Update conditions.
* modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
(Depends-on): Add remainder-ieee.
(configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
* doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
module.
remainder-ieee: Work around test failure on OSF/1.
* m4/remainder-ieee.m4: New file.
* m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
present, test whether remainder works with a zero second argument.
Replace it if not.
* lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
* modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
* modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
(Depends-on): Update dependencies.
* modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
(configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
* doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
Tests for module 'remainderl-ieee'.
* modules/remainderl-ieee-tests: New file.
* tests/test-remainderl-ieee.c: New file.
New module 'remainderl-ieee'.
* modules/remainderl-ieee: New file.
Tests for module 'remainder-ieee'.
* modules/remainder-ieee-tests: New file.
* tests/test-remainder-ieee.c: New file.
New module 'remainder-ieee'.
* modules/remainder-ieee: New file.
Tests for module 'remainderf-ieee'.
* modules/remainderf-ieee-tests: New file.
* tests/test-remainderf-ieee.c: New file.
* tests/test-remainder-ieee.h: New file.
New module 'remainderf-ieee'.
* modules/remainderf-ieee: New file.
2012-02-27 Bruno Haible
modff, modfl: Fix configure syntax error.
* m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
2012-02-27 Bruno Haible
fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
* m4/fmodl-ieee.m4: New file.
* m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
whether fmodl works with zero arguments. Replace it if not.
* modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
(Depends-on): Add fmod-ieee.
(configure.ac): Invoke gl_FUNC_FMODL_IEEE.
* doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
fmodf-ieee: Work around test failure on OSF/1.
* m4/fmodf-ieee.m4: New file.
* m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
whether fmodf works with zero arguments. Replace it if not.
* lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
* modules/math (Makefile.am): Substitute REPLACE_FMODF.
* modules/fmodf (configure.ac): Consider REPLACE_FMODF.
(Depends-on): Update dependencies.
* modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
(configure.ac): Invoke gl_FUNC_FMODF_IEEE.
* doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
fmodf-ieee: Work around test failure on MSVC 9.
* modules/fmodf-ieee (Depends-on): Add fmod-ieee.
* doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
fmod-ieee: Work around test failures on OSF/1, mingw.
* m4/fmod-ieee.m4: New file.
* m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
whether fmod works with zero arguments. Replace it if not.
* lib/math.in.h (fmod): New declaration.
* lib/fmod.c: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
* modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
* modules/fmod (Files): Add lib/fmod.c.
(Depends-on): Add math, isinf, trunc, fma.
(configure.ac): Arrange to compile lib/fmod.c if needed.
* modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_FMOD_IEEE.
* tests/test-math-c++.cc: Check the declaration of fmod.
* doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
fmodl-ieee: Fix test failures.
* lib/fmodl.c (fmodl): Treat Inf specially.
* modules/fmodl (Depends-on): Add isinf.
Tests for module 'fmodl-ieee'.
* modules/fmodl-ieee-tests: New file.
* tests/test-fmodl-ieee.c: New file.
New module 'fmodl-ieee'.
* modules/fmodl-ieee: New file.
Tests for module 'fmod-ieee'.
* modules/fmod-ieee-tests: New file.
* tests/test-fmod-ieee.c: New file.
New module 'fmod-ieee'.
* modules/fmod-ieee: New file.
Tests for module 'fmodf-ieee'.
* modules/fmodf-ieee-tests: New file.
* tests/test-fmodf-ieee.c: New file.
* tests/test-fmod-ieee.h: New file.
New module 'fmodf-ieee'.
* modules/fmodf-ieee: New file.
2012-02-27 Bruno Haible
Tests for module 'rintl-ieee'.
* modules/rintl-ieee-tests: New file.
* tests/test-rintl-ieee.c: New file.
New module 'rintl-ieee'.
* modules/rintl-ieee: New file.
Tests for module 'rint-ieee'.
* modules/rint-ieee-tests: New file.
* tests/test-rint-ieee.c: New file.
New module 'rint-ieee'.
* modules/rint-ieee: New file.
Tests for module 'rintf-ieee'.
* modules/rintf-ieee-tests: New file.
* tests/test-rintf-ieee.c: New file.
* tests/test-rint-ieee.h: New file.
New module 'rintf-ieee'.
* modules/rintf-ieee: New file.
2012-02-26 Paul Eggert
regex: re_search etc. should return -2 when memory exhausted
This bug was uncovered when testing 'grep'. Without the fix,
re_search and friends return -1 when memory is exhausted, but -1
means no match, and this causes grep to falsely report no-match
instead of memory-exhaustion. See
.
* lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
trouble; this can occur if re_search_internal ran out of memory.
2012-02-26 Bruno Haible
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
* m4/modfl-ieee.m4: New file.
* m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
whether modfl works with Inf. Replace it if not.
* lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
* modules/math (Makefile.am): Substitute REPLACE_MODFL.
* modules/modfl (configure.ac): Consider REPLACE_MODFL.
(Depends-on): Update dependencies.
* modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_MODFL_IEEE.
* doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
modfl-ieee: Fix dependencies.
* modules/modfl-ieee (Depends-on): Add modf-ieee.
modfl-ieee: Fix test failures.
* lib/modfl.c (modfl): Treat NaN and Inf specially.
* modules/modfl (Depends-on): Add isfinite, isinf.
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
* m4/modff-ieee.m4: New file.
* m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
whether modff works with NaN and Inf. Replace it if not.
* lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
* modules/math (Makefile.am): Substitute REPLACE_MODFF.
* modules/modff (configure.ac): Consider REPLACE_MODFF.
(Depends-on): Update dependencies.
* modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(Depends-on): Add modf-ieee.
(configure.ac): Invoke gl_FUNC_MODFF_IEEE.
* doc/posix-functions/modff.texi: Mention the modff-ieee module.
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
* m4/modf-ieee.m4: New file.
* m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
whether modf works with NaN and Inf. Replace it if not.
* lib/math.in.h (modf): New declaration.
* lib/modf.c: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
* modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
* modules/modf (Files): Add lib/modf.c.
(Depends-on): Add math, isfinite, trunc, isinf.
(configure.ac): Addrange to compile lib/modf.c if needed.
* modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_MODF_IEEE.
* tests/test-math-c++.cc: Check the declaration of modf.
* doc/posix-functions/modf.texi: Mention the modf-ieee module.
Tests for module 'modfl-ieee'.
* modules/modfl-ieee-tests: New file.
* tests/test-modfl-ieee.c: New file.
New module 'modfl-ieee'.
* modules/modfl-ieee: New file.
Tests for module 'modf-ieee'.
* modules/modf-ieee-tests: New file.
* tests/test-modf-ieee.c: New file.
New module 'modf-ieee'.
* modules/modf-ieee: New file.
Tests for module 'modff-ieee'.
* modules/modff-ieee-tests: New file.
* tests/test-modff-ieee.c: New file.
* tests/test-modf-ieee.h: New file.
New module 'modff-ieee'.
* modules/modff-ieee: New file.
2012-02-26 Bruno Haible
Tests for module 'fabsl-ieee'.
* modules/fabsl-ieee-tests: New file.
* tests/test-fabsl-ieee.c: New file.
New module 'fabsl-ieee'.
* modules/fabsl-ieee: New file.
Tests for module 'fabs-ieee'.
* modules/fabs-ieee-tests: New file.
* tests/test-fabs-ieee.c: New file.
New module 'fabs-ieee'.
* modules/fabs-ieee: New file.
Tests for module 'fabsf-ieee'.
* modules/fabsf-ieee-tests: New file.
* tests/test-fabsf-ieee.c: New file.
* tests/test-fabs-ieee.h: New file.
New module 'fabsf-ieee'.
* modules/fabsf-ieee: New file.
2012-02-26 Bruno Haible
Tests for module 'fmal-ieee'.
* modules/fmal-ieee-tests: New file.
* tests/test-fmal-ieee.c: New file.
New module 'fmal-ieee'.
* modules/fmal-ieee: New file.
Tests for module 'fma-ieee'.
* modules/fma-ieee-tests: New file.
* tests/test-fma-ieee.c: New file.
New module 'fma-ieee'.
* modules/fma-ieee: New file.
Tests for module 'fmaf-ieee'.
* modules/fmaf-ieee-tests: New file.
* tests/test-fmaf-ieee.c: New file.
* tests/test-fma-ieee.h: New file.
New module 'fmaf-ieee'.
* modules/fmaf-ieee: New file.
2012-02-26 Bruno Haible
Tests for module 'ldexpl-ieee'.
* modules/ldexpl-ieee-tests: New file.
* tests/test-ldexpl-ieee.c: New file.
New module 'ldexpl-ieee'.
* modules/ldexpl-ieee: New file.
Tests for module 'ldexp-ieee'.
* modules/ldexp-ieee-tests: New file.
* tests/test-ldexp-ieee.c: New file.
New module 'ldexp-ieee'.
* modules/ldexp-ieee: New file.
Tests for module 'ldexpf-ieee'.
* modules/ldexpf-ieee-tests: New file.
* tests/test-ldexpf-ieee.c: New file.
* tests/test-ldexp-ieee.h: New file.
New module 'ldexpf-ieee'.
* modules/ldexpf-ieee: New file.
2012-02-26 Bruno Haible
Refactor frexp*-ieee tests.
* tests/test-frexp-ieee.h: New file.
* tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
(main): Just call test_function.
* tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
(main): Just call test_function.
* tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
(main): Just call test_function.
* modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
* modules/frexp-ieee-tests (Files): Likewise.
* modules/frexpl-ieee-tests (Files): Likewise.
Tests for module 'frexpl-ieee'.
* modules/frexpl-ieee-tests: New file.
* tests/test-frexpl-ieee.c: New file.
New module 'frexpl-ieee'.
* modules/frexpl-ieee: New file.
Tests for module 'frexp-ieee'.
* modules/frexp-ieee-tests: New file.
* tests/test-frexp-ieee.c: New file.
New module 'frexp-ieee'.
* modules/frexp-ieee: New file.
Tests for module 'frexpf-ieee'.
* modules/frexpf-ieee-tests: New file.
* tests/test-frexpf-ieee.c: New file.
New module 'frexpf-ieee'.
* modules/frexpf-ieee: New file.
2012-02-26 Bruno Haible
roundl-ieee tests: More tests.
* tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanl-nolibm.
round-ieee tests: More tests.
* tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm.
roundf-ieee tests: More tests.
* tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm.
truncl-ieee tests: More tests.
* tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanl-nolibm.
trunc-ieee tests: More tests.
* tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm.
truncf-ieee tests: More tests.
* tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm.
ceill-ieee tests: More tests.
* tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanl-nolibm.
ceil-ieee tests: More tests.
* tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm.
ceilf-ieee tests: More tests.
* tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm.
floorl-ieee tests: More tests.
* tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanl-nolibm.
floor-ieee tests: More tests.
* tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm.
floorf-ieee tests: More tests.
* tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
(main): Add tests for [MX] shaded specification in POSIX.
* modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm.
2012-02-26 Bruno Haible
fpieee: More comments.
* m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
2012-02-25 Bruno Haible
Tests for module 'log10l'.
* modules/log10l-tests: New file.
* tests/test-log10l.c: New file.
* tests/test-math-c++.cc: Check the declaration of log10l.
New module 'log10l'.
* lib/math.in.h (log10l): New declaration.
* lib/log10l.c: New file.
* m4/log10l.m4: New file.
* modules/log10l: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
HAVE_DECL_LOG10L.
* modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
HAVE_DECL_LOG10L.
* doc/posix-functions/log10l.texi: Mention the new module.
2012-02-25 Bruno Haible
fmodl, remainder*: Avoid wrong results due to rounding errors.
* lib/fmodl.c (fmodl): Correct the result if it is not within the
expected bounds.
* lib/remainderf.c (remainderf): Likewise.
* lib/remainder.c (remainder): Likewise.
* lib/remainderl.c (remainderl): Likewise.
2012-02-25 Bruno Haible
Tests for module 'remainderl'.
* modules/remainderl-tests: New file.
* tests/test-remainderl.c: New file.
* tests/test-math-c++.cc: Check the declaration of remainderl.
New module 'remainderl'.
* lib/math.in.h (remainderl): New declaration.
* lib/remainderl.c: New file.
* m4/remainderl.m4: New file.
* modules/remainderl: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
* modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
HAVE_REMAINDERL.
* doc/posix-functions/remainderl.texi: Mention the new module.
2012-02-25 Bruno Haible
Tests for module 'remainderf'.
* modules/remainderf-tests: New file.
* tests/test-remainderf.c: New file.
* tests/test-math-c++.cc: Check the declaration of remainderf.
New module 'remainderf'.
* lib/math.in.h (remainderf): New declaration.
* lib/remainderf.c: New file.
* m4/remainderf.m4: New file.
* modules/remainderf: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
* modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
HAVE_REMAINDERF.
* doc/posix-functions/remainderf.texi: Mention the new module.
2012-02-25 Bruno Haible
remainder: Support for MSVC.
* lib/math.in.h (remainder): New declaration.
* lib/remainder.c: New file.
* m4/remainder.m4: New file.
* modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
(Depends-on): Add math, round, fma.
(configure.ac): Use results of gl_FUNC_REMAINDER.
* m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
HAVE_DECL_REMAINDER.
* modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
HAVE_REMAINDER, HAVE_DECL_REMAINDER.
* tests/test-math-c++.cc: Check the declaration of remainder.
* doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
problems are fixed.
2012-02-25 Bruno Haible
Tests for module 'fmodl'.
* modules/fmodl-tests: New file.
* tests/test-fmodl.c: New file.
* tests/test-math-c++.cc: Check the declaration of fmodl.
New module 'fmodl'.
* lib/math.in.h (fmodl): New declaration.
* lib/fmodl.c: New file.
* m4/fmodl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
REPLACE_FMODL.
* modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
REPLACE_FMODL.
* modules/fmodl: New file.
* doc/posix-functions/fmodl.texi: Mention the new module.
2012-02-25 Bruno Haible
Tests for module 'modfl'.
* modules/modfl-tests: New file.
* tests/test-modfl.c: New file.
* tests/test-math-c++.cc: Check the declaration of modfl.
New module 'modfl'.
* lib/math.in.h (modfl): New declaration.
* lib/modfl.c: New file.
* m4/modfl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
* modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
* modules/modfl: New file.
* doc/posix-functions/modfl.texi: Mention the new module.
2012-02-25 Bruno Haible
Tests for module 'fabsl'.
* modules/fabsl-tests: New file.
* tests/test-fabsl.c: New file.
* tests/test-math-c++.cc: Check the declaration of fabsl.
New module 'fabsl'.
* lib/math.in.h (fabsl): New declaration.
* lib/fabsl.c: New file.
* m4/fabsl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
REPLACE_FABSL.
* modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
REPLACE_FABSL.
* modules/fabsl: New file.
* doc/posix-functions/fabsl.texi: Mention the new module.
2012-02-25 Bruno Haible
fabs tests: More tests.
* tests/test-fabs.c: Include , minus-zero.h.
(zero): New variable.
(main): Add tests for signed zero.
* modules/fabs-tests (Files): Add tests/minus-zero.h.
fabsf tests: More tests.
* tests/test-fabsf.c: Include , minus-zero.h.
(zero): New variable.
(main): Add tests for signed zero.
* modules/fabsf-tests (Files): Add tests/minus-zero.h.
2012-02-24 Bruno Haible
atanl: Provide function definition on MSVC.
* m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
function pointer.
* lib/math.in.h (atanl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
acosl: Provide function definition on MSVC.
* m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
function pointer.
* lib/math.in.h (acosl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
asinl: Provide function definition on MSVC.
* m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
function pointer.
* lib/math.in.h (asinl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
tanl: Provide function definition on MSVC.
* m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
function pointer.
* lib/math.in.h (tanl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
cosl: Provide function definition on MSVC.
* m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
function pointer.
* lib/math.in.h (cosl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
sinl: Provide function definition on MSVC.
* m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
function pointer.
* lib/math.in.h (sinl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
logl: Provide function definition on MSVC.
* m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
function pointer.
* lib/math.in.h (logl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
expl: Provide function definition on MSVC.
* m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
function pointer.
* lib/math.in.h (expl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
sqrtl: Provide function definition on MSVC.
* m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
a function pointer.
* lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2012-02-24 Bruno Haible
ceill: Provide function definition on MSVC.
* m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
used as a function pointer.
* lib/math.in.h (ceill): Undefine if it is not declared as a function.
2012-02-24 Bruno Haible
floorl: Provide function definition on MSVC.
* m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
used as a function pointer.
* lib/math.in.h (floorl): Undefine if it is not declared as a function.
2012-02-24 Bruno Haible
ceilf: Provide function definition on MSVC.
* m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
used as a function pointer.
* lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2012-02-24 Bruno Haible
floorf: Provide function definition on MSVC.
* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
used as a function pointer.
* lib/math.in.h (floorf): Undefine if it is not declared as a function.
2012-02-24 Paul Eggert
stdnoreturn: new module
This implements a replacement for C11's .
* doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
* doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
* m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
* tests/test-stdnoreturn.c: New files.
2012-02-24 Stanislav Brabec (tiny change)
regex: fix false multibyte matches in some regular expressions
See
and .
* lib/regex_internal.c (re_string_skip_chars):
Fix miscomputation of remain_len that may cause incomplete
multi-byte character and false match.
2012-02-24 Jim Meyering
maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
* top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
uses with "==" *before* the call, e.g., 0 == strcmp (...)
Remove now-unnecessary str''cmp obfuscation.
Suggested by Akim Demaille.
2012-02-24 Bruno Haible
streq: Rename macro.
* lib/streq.h (STREQ_OPT): Renamed from STREQ.
* NEWS: Mention the change.
* lib/mbrtowc.c (mbrtowc): Update.
* lib/uniwidth/cjk.h (is_cjk_encoding): Update.
* lib/wcwidth.c (wcwidth): Update.
Suggested by Akim Demaille and Jim Meyering.
2012-02-20 Paul Eggert
regex: fix typo in definition of MIN
* lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas
Schwinge in .
2012-02-19 Paul Eggert
Bruno Haible
acl: Don't use ACL_CNT and similar ops, since they are unreliable.
* lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
entries into a stack-allocated buffer directly.
* lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2012-02-19 Paul Eggert
Bruno Haible
acl: Don't use GETACLCNT and similar ops, since they are unreliable.
- There were several instances of this pattern:
for (;;) {
n = acl (f, GETACLCNT, 0, NULL);
[ allocate an array A of size N ]
if (acl (f, GETACL, n, a) == n)
break;
}
This loop might never terminate if some other process is constantly
manipulating the file's ACL. The loop should be rewritten to
terminate.
- The acl (... GETACLNT ...) call is merely an optimization; its value
is merely a hint as to how big to make the array. A better
optimization is to avoid the acl (... GETACLNT ...) call entirely,
and just guess a reasonably-big size, growing the size and trying
again if it's not large enough. This guarantees termination, and
saves a system call.
* lib/acl-internal.h: Include .
(MIN, SIZE_MAX): New macros.
* lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
a stack-allocated buffer, and use malloc if it does not fit. Don't
use GETACLCNT.
* lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2012-02-19 Bruno Haible
acl: Fix endless loop on Solaris with vxfs.
* lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
* lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
* lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
* tests/test-sameacls.c (main)[Solaris]: Likewise.
Reported by Bill Jones in
, via Paul Eggert.
2012-02-19 Bruno Haible
acl: Fix copy-acl test failure on Solaris 11 2011-11.
* lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
(acl_ace_nontrivial): Relax the restrictions on access_masks[] so
that this function returns 0 in some more cases.
2012-02-19 Bruno Haible
acl: Update doc references.
* doc/acl-resources.txt: Update links to Solaris documentation.
2012-02-19 Bruno Haible
Fix test failure in many locales on Solaris 11.
* tests/test-pipe-filter-gi1.c (main): Don't use range expression in
'tr' arguments.
* tests/test-pipe-filter-ii1.c (main): Likewise.
* build-aux/bootstrap (check_versions): Run 'tr' command with range
expressions in the C locale.
* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
* m4/host-os.m4 (gl_HOST_OS): Likewise.
2012-02-19 Bruno Haible
gnulib-tool: Improve usage message.
* gnulib-tool (func_usage): Move doc of --help and --version to the
section "Operation modes".
2012-02-18 Reuben Thomas
README-release: make it easier to execute commands
* top/README-release: break commands out on to separate lines.
2012-02-16 Stefano Lattarini
GNUmakefile: simplify detection of unconfigured trees
* top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
whether the tree make is being run from is already configured or
not. Related simplifications.
2012-02-13 Simon Josefsson
* gnulib-tool (func_usage): Document --help and --version.
2012-02-11 Jim Meyering
bootstrap: don't exit 0 upon gnulib-tool failure
* build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
its exit status, not 0.
2011-12-19 Reuben Thomas
README-release: various improvements
* top/README-release: Give a command to push changes for the
release. Add "distcheck" to list of other pre-release checks.
Fix instance of "make stable" which should be "make TYPE".
2012-02-09 Paul Eggert
maint: replace FSF snail-mail addresses with URLs
* config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
* lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
* lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
* lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
* lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
* lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
* lib/check-version.c, lib/check-version.h, lib/config.charset:
* lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
* lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
* lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
* lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
* lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
* lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
* lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
* lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
* lib/glthread/thread.c, lib/glthread/thread.h:
* lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
* lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
* lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
* lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
* lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
* lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
* lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
* lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
* lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
* lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
* lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
* lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
* lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
* lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
* lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
* lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
* lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
* lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
* lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
* lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
* lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
* lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
* lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
* lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
* lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
* lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
* lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
* lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
* lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
* lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
* lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
* lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
* lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
* lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
* lib/xsize.h, tests/test-closein.c, tests/test-des.c:
* tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
* tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
* tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
* tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
* tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
* tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
* tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
* tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
* tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
* tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
* tests/test-poll.c, tests/test-quotearg-simple.c:
* tests/test-quotearg.c, tests/test-quotearg.h:
* tests/test-round-ieee.c, tests/test-round1.c:
* tests/test-roundf-ieee.c, tests/test-roundf1.c:
* tests/test-roundl-ieee.c, tests/test-roundl.c:
* tests/test-safe-alloc.c, tests/test-sigpipe.c:
* tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
* tests/test-strerror.c, tests/test-strerror_r.c:
* tests/test-strsignal.c, tests/test-strverscmp.c:
* tests/test-xmemdup0.c:
Replace FSF snail mail addresses with URLs, as per GNU coding
standards. See glibc bug
.
2011-12-22 Reuben Thomas
README-release: capitalize a word and split a line
* top/README-release: Fix punctuation and spacing.
2012-02-08 Akim Demaille
fatal-signal: use C prototypes (with explicit void).
* lib/fatal-signal.c (uninstall_handlers, install_handlers)
(init_fatal_signal_set, block_fatal_signals): Fix signatures.
2012-02-07 Paul Eggert
regex: spelling fix
* lib/regexec.c: spelling fix
regex: rely on stdint.h for SIZE_MAX
* lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2012-02-07 Paul Eggert
regex: merge glibc changes
* lib/regcomp.c (init_dfa): Tighten overflow checks to test
for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
(init_word_char): Work even if bitset words are not exactly 32 or
64 bits wide. Don't assume there are no padding bits.
* lib/regex.c [_LIBC]: Do not include .
[!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
and -Wtype-limits.
* lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
needless disagreement with glibc. All uses changed. Define it to
1 only if _GNU_SOURCE, to match glibc.
(_REG_RM_NAME): Remove; no longer needed, since the names in
question are now all protected by __USE_GNU.
(_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
(REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
* lib/regex_internal.h (MIN): New macro.
2012-01-03 Ulrich Drepper
* lib/regcomp.c (init_word_char): Optimize regex a bit.
2011-12-30 Jakub Jelinek
* lib/regex_internal.c (re_string_fetch_byte_case):
Fix up regcomp/regexec. The problem is that parse_bracket_symbol
is miscompiled, and it turns out it is because of an incorrect
attribute on re_string_fetch_byte_case. Unlike
re_string_peek_byte_case, this one is really not pure, it modifies
memory (increments pstr->cur_idx), and with the pure attribute GCC
assumed it doesn't and it cached the presumed value of
regexp->cur_idx in a variable across the
for (;; ++i)
{
if (i >= BRACKET_NAME_BUF_SIZE)
return REG_EBRACK;
if (token->type == OP_OPEN_CHAR_CLASS)
ch = re_string_fetch_byte_case (regexp);
else
ch = re_string_fetch_byte (regexp);
if (re_string_eoi(regexp))
return REG_EBRACK;
if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
break;
elem->opr.name[i] = ch;
}
2011-11-29 Andreas Schwab
* lib/regcomp.c (build_equiv_class):
Fix access after end of search string in regex matcher.
2011-11-12 Ulrich Drepper
* lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2011-10-12 Ulrich Drepper
* lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2011-10-11 Ulrich Drepper
* lib/regcomp.c (parse_branch, parse_sub_exp):
More regex memory leak fixes and tests.
(parse_sub_exp, parse_bracket_exp):
Fix memory leak for some invalid regular expressions.
2011-05-28 Ulrich Drepper
* lib/regex_internal.c, lib/regexec.c:
Fix unnecessary overallocation due to incomplete character. When
incomplete characters are found at the end of a string the code
ran amok and allocated lots of memory. Stricter limits are now in
place.
2011-05-20 Reuben Thomas
* lib/regex.h: Update documentation.
2011-05-16 Aharon Robbins
* lib/regex.h: Update RE_SYNTAX*_AWK constants.
2010-05-05 Andreas Schwab
* lib/regexec.c (find_collation_sequence_value):
Fix lookup of collation sequence value during regexp matching.
2010-01-22 Ulrich Drepper
* lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2008-01-16 Ulrich Drepper
* lib/regex.h: Cleanup namespace.
2007-11-26 Ulrich Drepper
* lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2007-08-26 Ulrich Drepper
* lib/regex_internal.h: Prevent some declarations and definitions
to be seen when used in tests.
2005-05-06 Ulrich Drepper
* lib/regex_internal.h: Include bits/libc-lock.h or define dummy
__libc_lock_* macros if not _LIBC.
(struct re_dfa_t): Add lock.
2012-02-07 Eric Blake
maint.mk: also prohibit lower-case @var@
* top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
lower case, like @top_srcdir@.
2012-02-04 Eric Blake
canonicalize: avoid uninitialized memory use
* lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
random '/' left in dest.
* lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2012-02-04 Bruno Haible
isatty: Fix test failure of ptsname_r on native Windows.
* lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
and don't set errno.
(isatty): Test first whether fd is valid. Set errno when returning 0.
2012-02-04 Bruno Haible
spawn-pipe tests: Fix a NULL program name in a diagnostic.
* tests/test-spawn-pipe-main.c: Include progname.h.
(main): Invoke set_program_name.
* modules/spawn-pipe-tests (Depends-on): Add progname.
nonblocking-socket tests: Fix a NULL program name in a diagnostic.
* tests/test-nonblocking-socket-main.c: Include progname.h.
(main): Invoke set_program_name.
* modules/nonblocking-socket-tests (Depends-on): Add progname.
nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
* tests/test-nonblocking-pipe-main.c: Include progname.h.
(main): Invoke set_program_name.
* modules/nonblocking-pipe-tests (Depends-on): Add progname.
2012-02-04 Eric Blake
canonicalize-lgpl: fix // handling
* lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
canonicalize: fix // handling
* lib/canonicalize.c (canonicalize_filename_mode): Don't convert
/// to //, since only // is special.
2012-02-04 Bruno Haible
ioctl: Fix test failure on native Windows.
* lib/ioctl.c: Include msvc-nothrow.h.
(primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2012-02-04 Bruno Haible
fsync: Avoid test failure on native Windows.
* lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
read-only.
2012-02-04 Bruno Haible
sys_select: Avoid syntax error on OpenBSD 5.0.
* lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
currently being included, just include the system's .
2012-02-04 Bruno Haible
sys_select: Avoid syntax error on OpenBSD 5.0.
* lib/sys_select.in.h: Include only after the include_next
, not before.
Reported by Jiri B .
2012-02-04 Bruno Haible
get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
* tests/test-get-rusage-as.c (main): Assign the malloc() results to
global variables.
* tests/test-get-rusage-data.c (main): Likewise.
Reported by Jim Meyering.
2012-02-04 Bruno Haible
stdioext: Fix last commit.
* lib/fwritable.c [EPLAN9]: Include .
2012-02-03 Bruno Haible
stdioext: Add tentative support for Plan9.
* lib/stdio-impl.h: Include .
* lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
* lib/freadable.c (freadable): Likewise.
* lib/fwritable.c (fwritable): Likewise.
* lib/fbufmode.c (fbufmode): Likewise.
* lib/freading.c (freading): Likewise.
* lib/fwriting.c (fwriting): Likewise.
* lib/freadptr.c (freadptr): Likewise.
* lib/freadseek.c (freadptrinc): Likewise.
* lib/freadahead.c (freadahead): Likewise.
* lib/fpurge.c (fpurge): Likewise.
* lib/fseeko.c (rpl_fseeko): Likewise.
* m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
Reported by Jens Staal .
2012-02-02 Jim Meyering
file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
* lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
would evoke a new gcc warning. Given all of the #ifdefs, it is better
not even to try to add the attribute. Instead, add a pragma to suppress
the suggestion/warning.
2012-01-31 Karl Berry
setstate doc: typo.
* doc/posix-functions/setstate.texi (setstate): { not (.
2012-01-31 Bruno Haible
popen: Make more robust on Windows.
* lib/popen.c: On native Windows, use the _popen based code even if
HAVE_POPEN is set.
* doc/posix-functions/popen.texi: Mention necessity of COMSPEC
environment variable on native Windows.
2012-01-30 Bruno Haible
pclose: Fix typo.
* lib/stdio.in.h (pclose): Fix typo in warning message.
2012-01-30 Bruno Haible
doc about getlogin_r, setstate.
* doc/posix-functions/getlogin_r.texi: List the incompatible
declaration problem under "not fixed by gnulib".
* doc/posix-functions/setstate.texi: Mention incompatible declaration
problem on Solaris 11 and other platforms.
2012-01-30 Chuanchang Jia (tiny change)
Bruno Haible
poll tests: Make test more robust.
* tests/test-poll.c: Include macros.h.
(test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
return value of various I/O operations.
* modules/poll-tests (Files): Add tests/macros.h.
2012-01-30 Bruno Haible
sys_stat: Fix support for mingw64 and MSVC.
* lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
header files already do it.
(stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
stat itself.
Reported by Marc-André Lureau