+ nproc: Work better on Linux when /proc and /sys are not mounted.
+ * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
+ as lower bound when, on glibc/Linux systems,
+ sysconf (_SC_NPROCESSORS_CONF) returns 1.
+ Suggested by Pádraig Brady <P@draigbrady.com>.
+ Reported by Dmitry V. Levin <ldv@altlinux.org>.
+
+ nproc: Refactor.
+ * lib/nproc.c (num_processors_via_affinity_mask): New function,
+ extracted from num_processors.
+ (num_processors): Call it.
+
+2010-01-11 Jim Meyering <meyering@redhat.com>
+
+ utimecmp: avoid new warning from upcoming gcc-4.5.0
+ * lib/utimecmp.c (BILLION): Define using #define rather than an
+ anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
+
+2010-01-11 Eric Blake <ebb9@byu.net>
+
+ math: add portability warnings for classification macros
+ * modules/math (Depends-on): Add warn-on-use.
+ (Makefile.am): Provide new substitutions.
+ * m4/math_h.m4 (gl_MATH_H): Require inline.
+ * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
+ (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
+ (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
+ implement warnings.
+
+ unistd: warn on use of environ without module
+ * modules/unistd (Depends-on): Add warn-on-use.
+ (Makefile.am): Provide new substitutions.
+ * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
+ * lib/unistd.in.h (environ): Wrap with a warning helper function.
+
+ stdio: warn on suspicious uses
+ * modules/stdio (Depends-on): Add warn-on-use.
+ (Makefile.am): Provide new substitutions.
+ * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
+ fseeko.
+ * lib/stdio.in.h (gets): Always warn on use.
+ (fseek, ftell): Adjust when warnings are issued, and honor
+ _GL_NO_LARGE_FILES as a way to silence the warning.
+ * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
+ any warning about large file offsets.
+ * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
+ * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
+
+ warn-on-use: new module
+ * modules/warn-on-use: New file.
+ * build-aux/warn-on-use.h: Likewise.
+ * m4/warn-on-use.m4: Likewise.
+ * MODULES.html.sh (Support for building): Mention it.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unistr/u32-strdup'.
+ * modules/unistr/u32-strdup-tests: New file.
+ * tests/unistr/test-u32-strdup.c: New file.
+
+ Tests for module 'unistr/u16-strdup'.
+ * modules/unistr/u16-strdup-tests: New file.
+ * tests/unistr/test-u16-strdup.c: New file.
+
+ Tests for module 'unistr/u8-strdup'.
+ * modules/unistr/u8-strdup-tests: New file.
+ * tests/unistr/test-u8-strdup.c: New file.
+ * tests/unistr/test-strdup.h: New file.
+
+ Tests for module 'unistr/u32-strncmp'.
+ * modules/unistr/u32-strncmp-tests: New file.
+ * tests/unistr/test-u32-strncmp.c: New file.
+
+ Tests for module 'unistr/u16-strncmp'.
+ * modules/unistr/u16-strncmp-tests: New file.
+ * tests/unistr/test-u16-strncmp.c: New file.
+
+ Tests for module 'unistr/u8-strncmp'.
+ * modules/unistr/u8-strncmp-tests: New file.
+ * tests/unistr/test-u8-strncmp.c: New file.
+ * tests/unistr/test-strncmp.h: New file.
+
+ Tests for module 'unistr/u32-strcoll'.
+ * modules/unistr/u32-strcoll-tests: New file.
+ * tests/unistr/test-u32-strcoll.c: New file.
+
+ Tests for module 'unistr/u16-strcoll'.
+ * modules/unistr/u16-strcoll-tests: New file.
+ * tests/unistr/test-u16-strcoll.c: New file.
+
+ Tests for module 'unistr/u8-strcoll'.
+ * modules/unistr/u8-strcoll-tests: New file.
+ * tests/unistr/test-u8-strcoll.c: New file.
+
+ Tests for module 'unistr/u32-strcmp'.
+ * modules/unistr/u32-strcmp-tests: New file.
+ * tests/unistr/test-u32-strcmp.c: New file.
+ * tests/unistr/test-u32-strcmp.h: New file.
+
+ Tests for module 'unistr/u16-strcmp'.
+ * modules/unistr/u16-strcmp-tests: New file.
+ * tests/unistr/test-u16-strcmp.c: New file.
+ * tests/unistr/test-u16-strcmp.h: New file.
+
+ Tests for module 'unistr/u8-strcmp'.
+ * modules/unistr/u8-strcmp-tests: New file.
+ * tests/unistr/test-u8-strcmp.c: New file.
+ * tests/unistr/test-u8-strcmp.h: New file.
+ * tests/unistr/test-strcmp.h: New file.
+
+ Tests for module 'unistr/u32-strncat'.
+ * modules/unistr/u32-strncat-tests: New file.
+ * tests/unistr/test-u32-strncat.c: New file.
+
+ Tests for module 'unistr/u16-strncat'.
+ * modules/unistr/u16-strncat-tests: New file.
+ * tests/unistr/test-u16-strncat.c: New file.
+
+ Tests for module 'unistr/u8-strncat'.
+ * modules/unistr/u8-strncat-tests: New file.
+ * tests/unistr/test-u8-strncat.c: New file.
+ * tests/unistr/test-strncat.h: New file.
+
+ Tests for module 'unistr/u32-strcat'.
+ * modules/unistr/u32-strcat-tests: New file.
+ * tests/unistr/test-u32-strcat.c: New file.
+
+ Tests for module 'unistr/u16-strcat'.
+ * modules/unistr/u16-strcat-tests: New file.
+ * tests/unistr/test-u16-strcat.c: New file.
+
+ Tests for module 'unistr/u8-strcat'.
+ * modules/unistr/u8-strcat-tests: New file.
+ * tests/unistr/test-u8-strcat.c: New file.
+ * tests/unistr/test-strcat.h: New file.
+
+ Tests for module 'unistr/u32-stpncpy'.
+ * modules/unistr/u32-stpncpy-tests: New file.
+ * tests/unistr/test-u32-stpncpy.c: New file.
+
+ Tests for module 'unistr/u16-stpncpy'.
+ * modules/unistr/u16-stpncpy-tests: New file.
+ * tests/unistr/test-u16-stpncpy.c: New file.
+
+ Tests for module 'unistr/u8-stpncpy'.
+ * modules/unistr/u8-stpncpy-tests: New file.
+ * tests/unistr/test-u8-stpncpy.c: New file.
+ * tests/unistr/test-stpncpy.h: New file.
+
+ Tests for module 'unistr/u32-strncpy'.
+ * modules/unistr/u32-strncpy-tests: New file.
+ * tests/unistr/test-u32-strncpy.c: New file.
+
+ Tests for module 'unistr/u16-strncpy'.
+ * modules/unistr/u16-strncpy-tests: New file.
+ * tests/unistr/test-u16-strncpy.c: New file.
+
+ Tests for module 'unistr/u8-strncpy'.
+ * modules/unistr/u8-strncpy-tests: New file.
+ * tests/unistr/test-u8-strncpy.c: New file.
+ * tests/unistr/test-strncpy.h: New file.
+
+ Tests for module 'unistr/u32-stpcpy'.
+ * modules/unistr/u32-stpcpy-tests: New file.
+ * tests/unistr/test-u32-stpcpy.c: New file.
+
+ Tests for module 'unistr/u16-stpcpy'.
+ * modules/unistr/u16-stpcpy-tests: New file.
+ * tests/unistr/test-u16-stpcpy.c: New file.
+
+ Tests for module 'unistr/u8-stpcpy'.
+ * modules/unistr/u8-stpcpy-tests: New file.
+ * tests/unistr/test-u8-stpcpy.c: New file.
+ * tests/unistr/test-stpcpy.h: New file.
+
+ Tests for module 'unistr/u32-strcpy'.
+ * modules/unistr/u32-strcpy-tests: New file.
+ * tests/unistr/test-u32-strcpy.c: New file.
+
+ Tests for module 'unistr/u16-strcpy'.
+ * modules/unistr/u16-strcpy-tests: New file.
+ * tests/unistr/test-u16-strcpy.c: New file.
+
+ Tests for module 'unistr/u8-strcpy'.
+ * modules/unistr/u8-strcpy-tests: New file.
+ * tests/unistr/test-u8-strcpy.c: New file.
+ * tests/unistr/test-strcpy.h: New file.
+
+ Tests for module 'unistr/u32-strnlen'.
+ * modules/unistr/u32-strnlen-tests: New file.
+ * tests/unistr/test-u32-strnlen.c: New file.
+
+ Tests for module 'unistr/u16-strnlen'.
+ * modules/unistr/u16-strnlen-tests: New file.
+ * tests/unistr/test-u16-strnlen.c: New file.
+
+ Tests for module 'unistr/u8-strnlen'.
+ * modules/unistr/u8-strnlen-tests: New file.
+ * tests/unistr/test-u8-strnlen.c: New file.
+ * tests/unistr/test-strnlen.h: New file.
+
+ Tests for module 'unistr/u32-strlen'.
+ * modules/unistr/u32-strlen-tests: New file.
+ * tests/unistr/test-u32-strlen.c: New file.
+
+ Tests for module 'unistr/u16-strlen'.
+ * modules/unistr/u16-strlen-tests: New file.
+ * tests/unistr/test-u16-strlen.c: New file.
+
+ Tests for module 'unistr/u8-strlen'.
+ * modules/unistr/u8-strlen-tests: New file.
+ * tests/unistr/test-u8-strlen.c: New file.
+
+ Tests for module 'unistr/u32-prev'.
+ * modules/unistr/u32-prev-tests: New file.
+ * tests/unistr/test-u32-prev.c: New file.
+
+ Tests for module 'unistr/u16-prev'.
+ * modules/unistr/u16-prev-tests: New file.
+ * tests/unistr/test-u16-prev.c: New file.
+
+ Tests for module 'unistr/u8-prev'.
+ * modules/unistr/u8-prev-tests: New file.
+ * tests/unistr/test-u8-prev.c: New file.
+
+ Tests for module 'unistr/u32-next'.
+ * modules/unistr/u32-next-tests: New file.
+ * tests/unistr/test-u32-next.c: New file.
+
+ Tests for module 'unistr/u16-next'.
+ * modules/unistr/u16-next-tests: New file.
+ * tests/unistr/test-u16-next.c: New file.
+
+ Tests for module 'unistr/u8-next'.
+ * modules/unistr/u8-next-tests: New file.
+ * tests/unistr/test-u8-next.c: New file.
+
+ Tests for module 'unistr/u32-strmbtouc'.
+ * modules/unistr/u32-strmbtouc-tests: New file.
+ * tests/unistr/test-u32-strmbtouc.c: New file.
+