Bruno Haible [Sun, 6 Nov 2011 23:22:31 +0000 (00:22 +0100)]
Doc about floating-point and math API.
* doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
* doc/posix-headers/math.texi: Mention problem with math_errhandling.
Bruno Haible [Sun, 6 Nov 2011 22:54:47 +0000 (23:54 +0100)]
stdalign tests: Skip the test when compiled by Sun C.
* tests/test-stdalign.c (main): Skip the test on Sun C.
Bruno Haible [Sun, 6 Nov 2011 21:33:25 +0000 (22:33 +0100)]
ansi-c++-opt: Complete the 2011-06-05 change.
* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
does not support namespaces, set the variable to "no", not to ":".
Paul Eggert [Sun, 6 Nov 2011 21:32:38 +0000 (13:32 -0800)]
* doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
Bruno Haible [Sun, 6 Nov 2011 18:17:07 +0000 (19:17 +0100)]
copysignl: Fix result for zero argument on HP-UX 11 with HP C.
* lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
(minus_zerol) [HP-UX]: New macro.
(unary_minus) [HP-UX]: New function.
(copysignl) [HP-UX]: Use unary_minus function.
Karl Berry [Sun, 6 Nov 2011 17:51:02 +0000 (09:51 -0800)]
update from texinfo
Bruno Haible [Sun, 6 Nov 2011 12:52:30 +0000 (13:52 +0100)]
ldexp, ldexpf, ldexpl: Enhance tests.
* tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
and tests/test-ldexpl.c.
* tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
LDEXP, MIN_EXP, MAX_EXP): New macros.
Include test-ldexp.h.
(main): Just call test_function.
* tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
infinity.h, nan.h.
(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
MAX_EXP): New macros.
Include test-ldexp.h.
(x, y): Remove variables.
(main): Just call test_function.
* tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
infinity.h, nan.h.
(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
MAX_EXP): New macros.
Include test-ldexp.h.
(x, y): Remove variables.
(main): Just call test_function.
* modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
* modules/ldexp-tests (Files): Add tests/test-ldexp.h,
tests/minus-zero.h, tests/infinity.h, tests/nan.h.
(Depends-on): Add isnand-nolibm, signbit, float.
* modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
tests/minus-zero.h, tests/infinity.h, tests/nan.h.
(Depends-on): Add isnanf-nolibm, signbit, float.
Bruno Haible [Sun, 6 Nov 2011 11:16:59 +0000 (12:16 +0100)]
math tests: Cosmetics.
* tests/test-math-c++.cc: Reorder declarations.
Bruno Haible [Sun, 6 Nov 2011 01:51:04 +0000 (02:51 +0100)]
fma*: Simplify test.
* tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
(test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
Bruno Haible [Sun, 6 Nov 2011 01:33:39 +0000 (02:33 +0100)]
Tests for module 'fmal'.
* modules/fmal-tests: New file.
* tests/test-fmal1.c: New file.
* tests/test-fmal2.c: New file.
Bruno Haible [Mon, 17 Oct 2011 21:54:37 +0000 (23:54 +0200)]
New module 'fmal'.
* lib/math.in.h (fmal): New declaration.
* lib/fmal.c: New file.
* m4/fmal.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
* modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
REPLACE_FMAL.
* modules/fmal: New file.
* doc/posix-functions/fmal.texi: Mention the new module and the various
bugs.
Bruno Haible [Sun, 6 Nov 2011 01:31:24 +0000 (02:31 +0100)]
Tests for module 'fmaf'.
* modules/fmaf-tests: New file.
* tests/test-fmaf1.c: New file.
* tests/test-fmaf2.c: New file.
Bruno Haible [Mon, 17 Oct 2011 21:51:21 +0000 (23:51 +0200)]
New module 'fmaf'.
* lib/math.in.h (fmaf): New declaration.
* lib/fmaf.c: New file.
* m4/fmaf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
* modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
REPLACE_FMAF.
* modules/fmaf: New file.
* doc/posix-functions/fmaf.texi: Mention the new module and the various
bugs.
Bruno Haible [Sun, 6 Nov 2011 01:28:32 +0000 (02:28 +0100)]
Tests for module 'fma'.
* modules/fma-tests: New file.
* tests/test-fma1.c: New file.
* tests/test-fma1.h: New file.
* tests/test-fma2.c: New file.
* tests/test-fma2.h: New file.
Bruno Haible [Mon, 17 Oct 2011 21:48:01 +0000 (23:48 +0200)]
New module 'fma'.
* lib/math.in.h (fma): New declaration.
* lib/fma.c: New file.
* m4/fma.m4: New file.
* m4/fegetround.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
* modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
REPLACE_FMA.
* modules/fma: New file.
* doc/posix-functions/fma.texi: Mention the new module and the various
bugs.
Bruno Haible [Sun, 6 Nov 2011 01:14:43 +0000 (02:14 +0100)]
Extend gl_MATHFUNC.
* m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
Support 'void' as argument type.
* m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
Bruno Haible [Sat, 5 Nov 2011 19:34:55 +0000 (20:34 +0100)]
New modules 'at-internal', 'openat-h', split off from module 'openat'.
* modules/at-internal: New file, extracted from modules/openat.
* modules/openat-h: New file.
Jim Meyering [Sat, 5 Nov 2011 16:34:09 +0000 (17:34 +0100)]
maint.mk: also prohibit inclusion of dirent.h without use
* top/maint.mk (sc_prohibit_dirent_without_use): New rule.
Bruno Haible [Sat, 5 Nov 2011 16:00:34 +0000 (17:00 +0100)]
ldexpl tests: Avoid test failure on MSVC 9.
* tests/test-ldexpl.c (main): Use a temporary variable for the expected
value. Needed in order to enforce the conversion from a value greater
than LDBL_MAX to Infinity.
Bruno Haible [Sat, 5 Nov 2011 10:35:57 +0000 (11:35 +0100)]
New modules 'at-internal', 'openat-h', split off from module 'openat'.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
* modules/openat (Description): Add reference to POSIX function.
(Files): Remove lib/openat.h, lib/openat-proc.c.
(Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
intprops, unistd.
(configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
gl_FCNTL_MODULE_INDICATOR.
(Include): Remove unistd.h, openat.h.
* modules/areadlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
openat-die, openat-h, save-cwd.
* modules/areadlinkat-with-size (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
openat-die, openat-h, save-cwd, unistd.
* modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/fchmodat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, unistd.
* modules/fchownat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, sys_stat.
* modules/fdopendir (Files): Remove lib/openat-priv.h,
lib/openat-proc.c.
(Depends-on): Add at-internal.
(condigure.ac): Remove AC_LIBOBJ of openat-proc.
* modules/fstatat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
stdbool, unistd.
* modules/fts (Depends-on): Add openat-h.
* modules/linkat (Depends-on): Add at-internal, openat-h. Remove
openat.
* modules/mkdirat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
openat, stdbool, sys_stat.
* modules/mkfifoat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/openat-die (Depends-on): Add openat-h. Remove openat.
* modules/readlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/renameat (Depends-on): Add at-internal, openat-h. Remove
openat.
* modules/selinux-at (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
* modules/symlinkat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
openat-h, save-cwd. Remove fcntl-h, openat.
* modules/unlinkat (Files): Remove lib/openat.h.
(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
stdbool.
* modules/utimensat (Files): Add lib/at-func.c.
(Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
openat-die, openat-h, save-cwd.
* modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
* modules/fdutimensat-tests (Depends-on): Add openat.
* modules/fstatat-tests (Depends-on): Add openat-h.
* modules/readlinkat-tests (Depends-on): Add openat.
* modules/symlinkat-tests (Depends-on): Add openat.
Bruno Haible [Sat, 5 Nov 2011 08:42:48 +0000 (09:42 +0100)]
openat: Include <stdbool.h>.
* lib/openat.c: Include <stdbool.h>.
Bruno Haible [Sat, 5 Nov 2011 00:21:00 +0000 (01:21 +0100)]
fchownat, renameat, unlinkat: Fix dependencies.
* modules/fchownat (Depends-on): Add fstatat.
* modules/renameat (Depends-on): Likewise.
* modules/unlinkat (Depends-on): Likewise.
Paul Eggert [Fri, 4 Nov 2011 18:22:07 +0000 (11:22 -0700)]
openat: remove direct dependency on dirent
* lib/openat.h: Don't include <dirent.h>; it's no longer needed,
and hasn't been needed ever since fdopendir was split into its own
module on 2009-08-31.
* modules/openat (Depends-on): Remove dirent.
Bruno Haible [Fri, 4 Nov 2011 17:13:22 +0000 (18:13 +0100)]
renameat: Optimize code size.
* modules/renameat (configure.ac): Don't compile at-func2.c if
REPLACE_RENAMEAT is 1.
Bruno Haible [Fri, 4 Nov 2011 17:12:25 +0000 (18:12 +0100)]
openat tests: Fix file list.
* modules/openat-tests (Files): Add tests/test-open.h.
Bruno Haible [Fri, 4 Nov 2011 17:11:03 +0000 (18:11 +0100)]
openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
* modules/fchmodat (Depends-on): Add openat-die.
* modules/fchownat (Depends-on): Likewise.
* modules/linkat (Depends-on): Likewise.
* modules/renameat (Depends-on): Likewise.
* modules/openat (Depends-on): Add dirent.
Jim Meyering [Fri, 4 Nov 2011 12:33:54 +0000 (13:33 +0100)]
at-func*.c: fix comments
* lib/at-func2.c: Correct/improve first-line comment.
* lib/at-func.c: Correct grammar in first-line comment.
Bruno Haible [Fri, 4 Nov 2011 10:31:25 +0000 (11:31 +0100)]
New module 'mkdirat', split off from module 'openat'.
* m4/mkdirat.m4: New file. extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
* modules/mkdirat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/mkdirat.c.
(Depends-on): Remove mkdir.
(configure.ac): Remove AC_LIBOBJ of mkdirat.
(Include): Remove <sys/stat.h>.
* modules/mkdirat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-mkdirat.c,
tests/test-mkdir.h.
(Depends-on): Remove ignore-value.
(Makefile.am): Remove rules for test-mkdirat.
* doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
of module 'openat'.
* NEWS: Mention the change.
Bruno Haible [Fri, 4 Nov 2011 11:03:48 +0000 (12:03 +0100)]
closedir: Avoid warning on mingw.
* lib/closedir.c: Include <unistd.h>.
Bruno Haible [Thu, 3 Nov 2011 11:03:53 +0000 (12:03 +0100)]
New module 'fstatat', split off from module 'openat'.
* lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
defined.
* m4/fstatat.m4: New file. extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
gl_FUNC_FSTATAT.
(gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
* modules/fstatat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fstatat.c.
(Depends-on): Remove lstat.
(configure.ac): Remove AC_LIBOBJ of fstatat.
* modules/fstatat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fstatat.c,
tests/test-lstat.h, tests/test-stat.h.
(Depends-on): Remove getcwd-lgpl.
(Makefile.am): Remove rules for test-fstatat.
* doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
of module 'openat'.
* NEWS: Mention the change.
* modules/getcwd (Depends-on): Add fstatat.
* modules/linkat (Depends-on): Likewise.
* modules/mkfifoat-tests (Depends-on): Likewise.
* modules/utimensat (Depends-on): Add fstatat. Remove openat.
Bruno Haible [Wed, 2 Nov 2011 21:34:51 +0000 (22:34 +0100)]
New module 'unlinkat', split off from module 'openat'.
* m4/unlinkat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
* modules/unlinkat: New file, extracted from modules/openat. Correct
the dependency conditions.
* modules/openat (Files): Remove lib/unlinkat.c.
(Depends-on): Remove rmdir, unlink.
(configure.ac): Remove AC_LIBOBJ of unlinkat.
* modules/unlinkat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-unlinkat.c,
tests/test-rmdir.h, tests/test-unlink.h.
(Depends-on): Remove unlinkdir.
(Makefile.am): Remove rules for test-unlinkat.
* doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
of module 'openat'.
* NEWS: Mention the change.
* modules/linkat-tests (Depends-on): Add unlinkat.
* modules/mkfifoat-tests (Depends-on): Likewise.
* modules/readlinkat-tests (Depends-on): Likewise.
Bruno Haible [Wed, 2 Nov 2011 09:07:20 +0000 (10:07 +0100)]
New module 'fchmodat', split off from module 'openat'.
* lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
defined.
* m4/fchmodat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
* modules/fchmodat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fchmodat.c.
(configure.ac): Remove AC_LIBOBJ of fchmodat.
* modules/fchmodat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fchmodat.c.
(Makefile.am): Remove rules for test-fchmodat.
* doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
of module 'openat'.
* NEWS: Mention the change.
Jim Meyering [Wed, 2 Nov 2011 08:15:34 +0000 (09:15 +0100)]
putenv: indent #definition of "environ" to placate cppi
* lib/putenv.c (environ): Make indentation reflect cpp nesting.
Jim Meyering [Tue, 1 Nov 2011 17:04:21 +0000 (18:04 +0100)]
gitlog-to-changelog: provide a ChangeLog-repair mechanism
Git logs are often treated as immutable, because editing them
changes the SHA1 checksums of all descendants. Thus, errors in
git logs tend to stay there forever. However, when we generate
a ChangeLog file -- typically for distribution -- from that git log,
we can actually make corrections in the generated file. The key
lies in recording in machine-readable/applicable form the desired
corrections. See --help for description and an example.
* build-aux/gitlog-to-changelog (parse_amend_file): New function.
(usage): Describe it; alphabetize option descriptions.
(main): Honor the new option, carefully.
Jim Meyering [Tue, 1 Nov 2011 14:11:06 +0000 (15:11 +0100)]
gitlog-to-changelog: avoid an infloop
* build-aux/gitlog-to-changelog: Don't infloop for a commit log
that ends up being empty.
Paul Eggert [Tue, 1 Nov 2011 20:15:14 +0000 (13:15 -0700)]
* MODULES.html.sh: Fix sed-script shell quoting and locale issues.
(func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
contains (possibly-quoted) backslashes. This should avoid
all-too-common shell bugs if COMPLICATED contains backslashes in
the "wrong" places. Reported by David Evans in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
When 'sed' uses character ranges like A-Z, invoke it in the C locale,
because we want ASCII ranges. Is there some reason we don't use
the C locale everywhere in this script?
(func_module, top level): Avoid unwanted pathname expansion when
$repo_url_prefix or $repo_url_suffix_repl contain shell
metacharacters like '?' and '*'.
Bruno Haible [Tue, 1 Nov 2011 17:51:17 +0000 (18:51 +0100)]
fchownat: Improve description.
* modules/fchownat (Description): Add link to function.
Paul Eggert [Tue, 1 Nov 2011 15:22:55 +0000 (08:22 -0700)]
* tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
mingw supports alignments only up to 8 (!). Reported by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
* doc/posix-headers/stdalign.texi (stdalign.h): Document this.
Paul Eggert [Tue, 1 Nov 2011 15:13:21 +0000 (08:13 -0700)]
Fix my old ChangeLog entry to properly cite Bruno's email.
Bruno Haible [Tue, 1 Nov 2011 11:43:23 +0000 (12:43 +0100)]
alignof: Avoid collision with stdalign module.
* lib/alignof.h (alignof): Remove macro.
* NEWS: Mention the change.
Reported by Paul Eggert.
Bruno Haible [Tue, 1 Nov 2011 10:01:10 +0000 (11:01 +0100)]
New module 'fchownat', split off from module 'openat'.
* lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
defined.
* m4/fchownat.m4: New file, extracted from m4/openat.m4.
* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
invoke gl_FUNC_FCHOWNAT.
(gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
* modules/fchownat: New file, extracted from modules/openat.
* modules/openat (Files): Remove lib/fchownat.c.
(Depends-on): Remove lchown.
(configure.ac): Remove AC_LIBOBJ of fchownat.
* modules/fchownat-tests: New file, extracted from modules/openat-tests.
* modules/openat-tests (Files): Remove tests/test-fchownat.c,
tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
(Depends-on): Remove mgetgroups, usleep, stat-time.
(configure.ac): Remove test for getegid.
(Makefile.am): Remove rules for test-fchownat.
* doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
of module 'openat'.
* NEWS: Mention the change.
Paul Eggert [Tue, 1 Nov 2011 05:37:30 +0000 (22:37 -0700)]
stdalign: port better to MSVC and to Sun C 5.11
I think these problems were reported by Bruno Haible, in email
that I've unfortunately misplaced.
* doc/posix-headers/stdalign.texi (stdalign.h): Document more
shortcomings of MSVC and of Sun C 5.11.
* lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
around __declspec arg.
* modules/stdalign-tests (Files): Add tests/macros.h.
* tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
Include macros.h, for ASSERT.
(DECLARE_ALIGNED): Remove.
(TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
to catch bug), and to 1 if not (simplifies the rest of the code).
(CHECK_STATIC): Always declare the alignment test vars; that's simpler.
(CHECK_AUTO): Remove.
(CHECK_ALIGNED): Check only the alignment of the static vars,
since auto var alignment isn't supported by Sun C 5.11.
(CHECK_TYPES): Remove. All uses replaced by inline code, so that
ASSERT failures are easier to diagnose.
Bruno Haible [Mon, 31 Oct 2011 21:46:31 +0000 (22:46 +0100)]
doc about some IRIX 5.3 problems.
* doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
on IRIX 5.3.
* doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
* doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5.3.
* doc/posix-functions/grantpt.texi: Likewise.
* doc/posix-functions/unlockpt.texi: Likewise.
* doc/posix-functions/lgamma.texi: Likewise.
* doc/posix-functions/nextafter.texi: Likewise.
* doc/posix-functions/remainder.texi: Likewise.
* doc/posix-functions/select.texi: Mention misplaced declaration on
IRIX 5.3.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.
Dmitry V. Levin [Mon, 31 Oct 2011 15:56:52 +0000 (19:56 +0400)]
gitlog-to-changelog: fix git-log invocation
git-log mishandles date strings before 1970-01-01 UTC, and there is
no use to specify --since=1970-01-01 by default anyway.
* build-aux/gitlog-to-changelog: By default, when no --since option
was given, do not specify explicit --since option to git-log.
Dmitry V. Levin [Sun, 30 Oct 2011 22:00:00 +0000 (22:00 +0000)]
gitlog-to-changelog: new option --append-dot
* build-aux/gitlog-to-changelog: New option --append-dot, makes the
first non-blank line of each commit message terminated with a dot.
Bruno Haible [Mon, 31 Oct 2011 01:07:25 +0000 (02:07 +0100)]
ffsl, ffsll: Avoid compilation error due to 'restrict'.
* lib/ffsl.h: Include <config.h>.
Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
Jim Meyering [Sun, 30 Oct 2011 20:24:06 +0000 (21:24 +0100)]
GNUmakefile: reenable "make syntax-check" for most projects
Since Friday's commit
05e2d798, "maint.mk: don't maintain a second
build-aux variable", "syntax-check" would do nothing but succeed with
the "No version control files detected..." diagnostic (unless you
happened to override _build-aux via cfg.mk).
* top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
to precede inclusion of maint.mk. Otherwise, these variables would
be used undefined in any project that does not override the default.
Dmitry V. Levin [Sun, 30 Oct 2011 01:01:00 +0000 (05:01 +0400)]
gitlog-to-changelog: treat a message with only blank lines as empty
* build-aux/gitlog-to-changelog: Move the code that removes leading and
trailing blank lines before the code that issues a warning about an
empty commit message.
Jim Meyering [Sun, 30 Oct 2011 17:12:54 +0000 (18:12 +0100)]
test-parse-datetime.c: avoid new DST-related false positive test failure
* tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
based on the time/date we'll convert, not the current time.
Otherwise, the moment we cross a DST boundary like today's in
Europe, (CEST to CET), that offset ends up being one hour off.
Karl Berry [Sat, 29 Oct 2011 14:02:17 +0000 (07:02 -0700)]
autoupdate
Bruno Haible [Thu, 27 Oct 2011 22:29:04 +0000 (00:29 +0200)]
fstat: Tweak documentation.
* modules/fstat (Description): More precise description.
Bruno Haible [Thu, 27 Oct 2011 22:26:55 +0000 (00:26 +0200)]
Update documentation regarding 'largefile' module.
* doc/posix-functions/fstat.texi: Tweak wording.
* doc/posix-functions/opendir.texi: Mention that the module fixes the
problems with huge directories and/or small ino_t types.
* doc/posix-functions/readdir.texi: Likewise.
* doc/posix-functions/rewinddir.texi: Likewise.
Gary V. Vaughan [Sun, 23 Oct 2011 10:28:55 +0000 (17:28 +0700)]
maint.mk: don't maintain a second build-aux variable.
* maint.mk (build_aux): Removed. The maintainer-makefile module
depends on GNUmakefile, which already maintains a cfg.mk
overridable $(_build-aux) for projects with a non-standard
build-aux directory location, although without the $(srcdir)
prefix. Use that variable consistently instead of introducing a
second one. Adjust all call sites.
Paul Eggert [Thu, 27 Oct 2011 19:43:51 +0000 (12:43 -0700)]
Adjust to Bruno's comments.
Paul Eggert [Mon, 17 Oct 2011 00:19:18 +0000 (17:19 -0700)]
sys_socket: use stdalign, not alignof
* lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
* modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
Paul Eggert [Mon, 17 Oct 2011 00:17:47 +0000 (17:17 -0700)]
crypto libraries: use stdalign
* lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
Include <stdalign.h> and <stdint.h>. Do not include <stddef.h>.
Do not include <stdlib.h> twice, in md4.c.
(UNALIGNED_P): Simplify by using alignof. Use uintptr_t, not size_t,
because we are accessing a pointer's bit-pattern, not a size.
* modules/crypto/gc-md4 (Depends-on): Add stdalign.
* modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
* modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
* modules/crypto/sha512: Likewise.
Paul Eggert [Sun, 16 Oct 2011 23:59:46 +0000 (16:59 -0700)]
argp: use stdalign
* lib/argp-parse.c: Include <stdalign.h>.
(alignof): Remove.
* modules/argp (Depends-on): Add stdalign.
Paul Eggert [Sun, 16 Oct 2011 23:58:23 +0000 (16:58 -0700)]
stdalign-tests: new module
* modules/stdalign-tests, tests/test-stdalign.c: New files.
Paul Eggert [Sun, 16 Oct 2011 23:56:59 +0000 (16:56 -0700)]
stdalign: new module
* doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
* modules/stdalign: New files.
* MODULES.html.sh (c1x_core_properties): Add stdalign.
* doc/gnulib.texi (Header File Substitutes): Add stdalign.
Bruno Haible [Thu, 27 Oct 2011 19:14:19 +0000 (21:14 +0200)]
raise test: Avoid a test failure on Linux/MIPS.
* tests/test-raise.c (main): Try raising signal 199, not 99. Needed
because 99 is a valid signal on Linux/MIPS.
Bruno Haible [Thu, 27 Oct 2011 19:12:12 +0000 (21:12 +0200)]
nonblocking tests: Fix test failure on Linux/MIPS.
* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
Set to 270000.
Bruno Haible [Thu, 27 Oct 2011 12:44:05 +0000 (14:44 +0200)]
utimensat: Work around problem on Linux/hppa.
* lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
values.
* doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
Jim Meyering [Tue, 25 Oct 2011 13:49:18 +0000 (15:49 +0200)]
maint.mk: fix a bug in sc_prohibit_stddef_without_use
* top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
after symbols like NULL, size_t, etc.
Reported by Alfred M. Szmidt.
Jim Meyering [Tue, 25 Oct 2011 10:26:49 +0000 (12:26 +0200)]
maint.mk: exempt ENODATA from a syntax-check rule
* top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
from the sc_prohibit_always-defined_macros syntax-check rule.
Add a comment. See this for more details:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
Jim Meyering [Sun, 23 Oct 2011 20:42:25 +0000 (22:42 +0200)]
fts: close parent dir FD before returning from post-traversal fts_read
The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
unlink A, even though an FD open on A remained. This is suboptimal
(holding a file descriptor open longer than needed), but otherwise not
a problem on Unix-like kernels. However, on Cygwin with certain Novell
file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
that represents a real problem: it causes the removal of A to fail
with e.g., "rm: cannot remove `A': Device or resource busy"
fts visits each directory twice and keeps a cache (fts_fd_ring) of
directory file descriptors. After completing the final, FTS_DP,
visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
cache, but then proceeded to add a new FD to it via the subsequent
FCHDIR (which calls cwd_advance_fd and i_ring_push). Before, the
final file descriptor would be closed only via fts_close's call to
fd_ring_clear. Now, it is usually closed earlier, via the final
FTS_DP-returning fts_read call.
* lib/fts.c (restore_initial_cwd): New function, converted from
the macro. Call fd_ring_clear *after* FCHDIR, not before it.
Update callers.
Reported by Franz Sirl via the above URL, with analysis by Eric Blake
in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
Karl Berry [Sun, 23 Oct 2011 17:38:55 +0000 (10:38 -0700)]
autoupdate
Gary V. Vaughan [Sun, 23 Oct 2011 06:13:46 +0000 (13:13 +0700)]
readme-release: improve safety of release prep instructions.
* README-release: Don't git pull all branches when only master
is needed for the release process.
Run make maintainer-clean before changing trees and merging.
Don't try to run ./configure right after git pull in case files
that influence the bootstrap process have changed, move the
./configure step to after running ./bootstrap.
Don't bootstrap "one last time"... it's the first time!
Bruno Haible [Sat, 22 Oct 2011 14:28:19 +0000 (16:28 +0200)]
errno, strerror-override: Support for MSVC 10.
* lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
(ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
Assign values compatible with MSVC 10.
(ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
New macros.
(GNULIB_defined_EWINSOCK): New macro.
* lib/strerror-override.c (strerror_override): Update accordingly.
* lib/strerror-override.h: Likewise.
* lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
longer equal to the corresponding errno value.
Reported by Michael Goffioul <michael.goffioul@gmail.com>.
Bruno Haible [Sat, 22 Oct 2011 12:25:26 +0000 (14:25 +0200)]
perror: Recognize when test program crashes.
* m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
strerror, set gl_cv_func_perror_works to no.
Reported by Daniel Richard G. <skunk@iskunk.org>.
Bruno Haible [Sat, 22 Oct 2011 12:21:19 +0000 (14:21 +0200)]
perror: Fix indentation.
* m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
Bruno Haible [Sat, 22 Oct 2011 11:52:56 +0000 (13:52 +0200)]
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
* lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
_GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
(isfinite, isinf, isnan, signbit): In C++, define as overloaded
functions, not as a macro.
* tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
macros.
(isfinite, isinf, isnan, signbit): Check overloaded functions and
absence of macro.
Suggested by Eric Blake.
Reported by Michael Goffioul <michael.goffioul@gmail.com>.
Bruno Haible [Sat, 22 Oct 2011 00:39:34 +0000 (02:39 +0200)]
relocatable-prog-wrapper: Don't leave object files behind.
* build-aux/install-reloc: Re-synchronize list of .o files to be
removed with list of compilation units.
Bruno Haible [Fri, 21 Oct 2011 00:45:21 +0000 (02:45 +0200)]
openpty, posix_openpt: Remove code duplication.
* lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
* lib/openpty.c: Include <stdlib.h>.
(openpty): Use posix_openpt on all platforms except IRIX.
* modules/openpty (Depends-on): Add posix_openpt. Add conditions.
Bruno Haible [Fri, 21 Oct 2011 00:22:04 +0000 (02:22 +0200)]
unlockpt: Detect invalid argument.
* lib/unlockpt.c: Include <fcntl.h>.
(unlockpt): Check whether fd is valid, using fcntl().
* modules/unlockpt (Depends-on): Add fcntl-h.
Bruno Haible [Fri, 21 Oct 2011 00:12:02 +0000 (02:12 +0200)]
openpty: Avoid compilation error on AIX 6.1.
* lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
Karl Berry [Thu, 20 Oct 2011 21:25:20 +0000 (14:25 -0700)]
autoupdate
Bruno Haible [Thu, 20 Oct 2011 15:44:40 +0000 (17:44 +0200)]
posix_openpt: Support for OpenBSD.
* lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
(posix_openpt) [OpenBSD]: New code.
* lib/grantpt.c: Include <fcntl.h>.
(grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
* modules/grantpt (Depends-on): Add fcntl-h.
Bruno Haible [Thu, 20 Oct 2011 14:52:47 +0000 (16:52 +0200)]
posix_openpt test: Coding style.
* tests/test-posix_openpt.c: Use GNU coding style.
Bruno Haible [Thu, 20 Oct 2011 14:32:55 +0000 (16:32 +0200)]
grantpt: Support --avoid=pt_chown.
* modules/grantpt (Files): Add lib/pty-private.h.
Bruno Haible [Thu, 20 Oct 2011 14:24:54 +0000 (16:24 +0200)]
posix_openpt: Fix autoconf macro.
* m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
unneeded check for _getpty.
Bruno Haible [Thu, 20 Oct 2011 09:44:11 +0000 (11:44 +0200)]
openpty: Update comments.
* lib/openpty.c: Add comments about Minix.
Eric Blake [Wed, 19 Oct 2011 23:28:32 +0000 (17:28 -0600)]
openpty: relax license
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28695/focus=28720
* modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Wed, 19 Oct 2011 22:35:50 +0000 (16:35 -0600)]
pt_chown: use configmake to simplify build
Even with older automake, our configmake module provides the
guarantee that pt_chown needs.
* modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Wed, 19 Oct 2011 21:07:28 +0000 (15:07 -0600)]
ptsname and others: relax license
Discussed here:
https://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00178.html
* modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
* modules/unlockpt (License): Likewise.
* modules/pt_chown (License): Likewise.
* modules/ptsname (License): Likewise.
* modules/ttyname_r (License): Likewise.
Signed-off-by: Eric Blake <eblake@redhat.com>
Karl Berry [Wed, 19 Oct 2011 21:10:30 +0000 (14:10 -0700)]
update from texinfo
Jim Meyering [Wed, 19 Oct 2011 13:28:46 +0000 (15:28 +0200)]
posix_openpt: remove spurious #endif
* lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
Gary V. Vaughan [Wed, 19 Oct 2011 11:58:09 +0000 (18:58 +0700)]
maint.mk: Respect $(build_aux) in web-manual rule.
* top/maint.mk (web-manual): Find gen-announce script in user's
$(build_aux) directory instead of hard-coding 'build-aux'.
Bruno Haible [Wed, 19 Oct 2011 09:49:39 +0000 (11:49 +0200)]
posix_openpt: Fix compilation error.
* lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
* doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
Mention the openpty module as an alternative.
Bruno Haible [Wed, 19 Oct 2011 09:09:37 +0000 (11:09 +0200)]
Support for old NeXTstep 3.3 frexp().
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
execution time of the test to 5 seconds.
Reported by Daniel Richard G. <skunk@iskunk.org>.
Bruno Haible [Wed, 19 Oct 2011 08:38:07 +0000 (10:38 +0200)]
Support for old NeXTstep 3.3 sed.
* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
part, use /.../, not \|...|. Escape periods in the header file name.
* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
Reported by Daniel Richard G. <skunk@iskunk.org>.
Daniel Richard G [Tue, 18 Oct 2011 18:32:42 +0000 (20:32 +0200)]
Support for old NeXTstep 3.3 gcc.
* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
* lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
* lib/spawn.in.h (_Restrict_arr_): Likewise.
* lib/regex.h (_Restrict_arr_): Likewise.
* lib/regex_internal.h (re_token_t): Likewise.
* lib/regexec.c (check_node_accept_bytes): Likewise.
* tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
Eric Blake [Mon, 17 Oct 2011 23:19:41 +0000 (17:19 -0600)]
posix_openpt: new module
* modules/posix_openpt: New module.
* m4/posix_openpt.m4: New file.
* lib/posix_openpt.c: Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
(gl_STDLIB_H_DEFAULTS): Set defaults.
* modules/stdlib (Makefile.am): Substitute macros.
* lib/stdlib.in.h (posix_openpt): Declare.
* MODULES.html.sh (systems lacking POSIX:2008): Document it.
* doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
* modules/posix_openpt-tests: New test module.
* tests/test-posix_openpt.c: New test.
Bruno Haible [Sat, 15 Oct 2011 15:06:24 +0000 (17:06 +0200)]
xstrtoll: Fix compilation failure.
* lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
from lib/strtol.c.
* doc/posix-headers/limits.texi: Mention missing numerical limits on
some platforms.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.
Bruno Haible [Sat, 15 Oct 2011 11:20:29 +0000 (13:20 +0200)]
vasnprintf: Optimize bit search operation.
* lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
gl_DOUBLE_EXPONENT_LOCATION.
* modules/vasnprintf (Files): Add m4/exponentd.m4.
* modules/unistdio/u8-vasnprintf (Files): Likewise.
* modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
* modules/unistdio/u16-vasnprintf (Files): Likewise.
* modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
* modules/unistdio/u32-vasnprintf (Files): Likewise.
* modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
* modules/unistdio/ulc-vasnprintf (Files): Likewise.
* m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
Bruno Haible [Sat, 15 Oct 2011 10:13:07 +0000 (12:13 +0200)]
vasnprintf: Fix comments.
* lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
Bruno Haible [Sat, 15 Oct 2011 00:16:58 +0000 (02:16 +0200)]
Tests for module 'integer_length_ll'.
* modules/integer_length_ll-tests: New file.
* tests/test-integer_length_ll.c: New file.
Bruno Haible [Sat, 15 Oct 2011 00:16:37 +0000 (02:16 +0200)]
New module 'integer_length_ll'.
* lib/integer_length_ll.c: New file.
* modules/integer_length_ll: New file.
Bruno Haible [Sat, 15 Oct 2011 00:15:58 +0000 (02:15 +0200)]
Tests for module 'integer_length_l'.
* modules/integer_length_l-tests: New file.
* tests/test-integer_length_l.c: New file.
Bruno Haible [Sat, 15 Oct 2011 00:15:31 +0000 (02:15 +0200)]
New module 'integer_length_l'.
* lib/integer_length_l.c: New file.
* modules/integer_length_l: New file.
Bruno Haible [Sat, 15 Oct 2011 00:13:44 +0000 (02:13 +0200)]
Tests for module 'integer_length'.
* modules/integer_length-tests: New file.
* tests/test-integer_length.c: New file.