* lib/math.in.h (tanhf): New declaration.
* lib/tanhf.c: New file.
* m4/tanhf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
* modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
* modules/tanhf: New file.
* tests/test-math-c++.cc: Check the declaration of tanhf.
* doc/posix-functions/tanhf.texi: Mention the new module.
* lib/math.in.h (coshf): New declaration.
* lib/coshf.c: New file.
* m4/coshf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
* modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
* modules/coshf: New file.
* tests/test-math-c++.cc: Check the declaration of coshf.
* doc/posix-functions/coshf.texi: Mention the new module.
* lib/math.in.h (sinhf): New declaration.
* lib/sinhf.c: New file.
* m4/sinhf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
* modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
* modules/sinhf: New file.
* tests/test-math-c++.cc: Check the declaration of sinhf.
* doc/posix-functions/sinhf.texi: Mention the new module.
* lib/math.in.h (atan2f): New declaration.
* lib/atan2f.c: New file.
* m4/atan2f.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
* modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
* modules/atan2f: New file.
* tests/test-math-c++.cc: Check the declaration of atan2f.
* doc/posix-functions/atan2f.texi: Mention the new module.
* lib/math.in.h (atanf): New declaration.
* lib/atanf.c: New file.
* m4/atanf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
* modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
* modules/atanf: New file.
* tests/test-math-c++.cc: Check the declaration of atanf.
* doc/posix-functions/atanf.texi: Mention the new module.
* lib/math.in.h (acosf): New declaration.
* lib/acosf.c: New file.
* m4/acosf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
* modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
* modules/acosf: New file.
* tests/test-math-c++.cc: Check the declaration of acosf.
* doc/posix-functions/acosf.texi: Mention the new module.
* lib/math.in.h (asinf): New declaration.
* lib/asinf.c: New file.
* m4/asinf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
* modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
* modules/asinf: New file.
* tests/test-math-c++.cc: Check the declaration of asinf.
* doc/posix-functions/asinf.texi: Mention the new module.
* lib/math.in.h (tanf): New declaration.
* lib/tanf.c: New file.
* m4/tanf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
* modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
* modules/tanf: New file.
* tests/test-math-c++.cc: Check the declaration of tanf.
* doc/posix-functions/tanf.texi: Mention the new module.
* lib/math.in.h (cosf): New declaration.
* lib/cosf.c: New file.
* m4/cosf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
* modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
* modules/cosf: New file.
* tests/test-math-c++.cc: Check the declaration of cosf.
* doc/posix-functions/cosf.texi: Mention the new module.
* lib/math.in.h (sinf): New declaration.
* lib/sinf.c: New file.
* m4/sinf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
* modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
* modules/sinf: New file.
* tests/test-math-c++.cc: Check the declaration of sinf.
* doc/posix-functions/sinf.texi: Mention the new module.
* lib/math.in.h (powf): New declaration.
* lib/powf.c: New file.
* m4/powf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
* modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
* modules/powf: New file.
* tests/test-math-c++.cc: Check the declaration of powf.
* doc/posix-functions/powf.texi: Mention the new module.
* lib/math.in.h (log10f): New declaration.
* lib/log10f.c: New file.
* m4/log10f.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
* modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
* modules/log10f: New file.
* tests/test-math-c++.cc: Check the declaration of log10f.
* doc/posix-functions/log10f.texi: Mention the new module.
* lib/math.in.h (logf): New declaration.
* lib/logf.c: New file.
* m4/logf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
* modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
* modules/logf: New file.
* tests/test-math-c++.cc: Check the declaration of logf.
* doc/posix-functions/logf.texi: Mention the new module.
* lib/math.in.h (expf): New declaration.
* lib/expf.c: New file.
* m4/expf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
* modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
* modules/expf: New file.
* tests/test-math-c++.cc: Check the declaration of expf.
* doc/posix-functions/expf.texi: Mention the new module.
* lib/math.in.h (sqrtf): New declaration.
* lib/sqrtf.c: New file.
* m4/sqrtf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
* modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
* modules/sqrtf: New file.
* tests/test-math-c++.cc: Check the declaration of sqrtf.
* doc/posix-functions/sqrtf.texi: Mention the new module.
* lib/math.in.h (ldexpf): New declaration.
* lib/ldexpf.c: New file.
* m4/ldexpf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
* modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
* modules/ldexpf: New file.
* tests/test-math-c++.cc: Check the declaration of ldexpf.
* doc/posix-functions/ldexpf.texi: Mention the new module.
* lib/math.in.h (frexpf): New declaration.
* lib/frexpf.c: New file.
* m4/frexpf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
* modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
* modules/frexpf: New file.
* tests/test-math-c++.cc: Check the declaration of frexpf.
* doc/posix-functions/frexpf.texi: Mention the new module.
* lib/math.in.h (modff): New declaration.
* lib/modff.c: New file.
* m4/modff.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
* modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
* modules/modff: New file.
* tests/test-math-c++.cc: Check the declaration of modff.
* doc/posix-functions/modff.texi: Mention the new module.
* lib/math.in.h (fmodf): New declaration.
* lib/fmodf.c: New file.
* m4/fmodf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
* modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
* modules/fmodf: New file.
* tests/test-math-c++.cc: Check the declaration of fmodf.
* doc/posix-functions/fmodf.texi: Mention the new module.
* m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
* doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
* m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
'long double'. Set REPLACE_ITOLD.
* lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
* lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
* lib/itold.c: New file.
* modules/float (Files): Add lib/itold.c.
(configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
(Makefile.am): Substitute REPLACE_ITOLD.
* modules/math (Depends-on): Add float.
(Makefile.am): Substitute REPLACE_ITOLD.
* doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
* doc/posix-headers/math.texi: Likewise.
* doc/posix-functions/logl.texi: Likewise.
* lib/fclose.c: Include msvc-inval.h.
(fclose_nothrow): New function.
(rpl_fclose): Use it.
* modules/fclose (Depends-on): Add msvc-inval.
* doc/posix-functions/fclose.texi: Mention the problem on MSVC.
* lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/write.c (write_nothrow): New function.
(rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
not 1. Use write_nothrow.
* m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_WRITE): New macro.
* modules/write (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_WRITE.
* doc/posix-functions/write.texi: Mention the problem on MSVC.
* lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/read.c (read_nothrow): New function.
(rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
read_nothrow.
* m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_READ): New macro.
* modules/read (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_READ.
* doc/posix-functions/read.texi: Mention the problem on MSVC.
* lib/close.c: Include <errno.h>, msvc-inval.h.
(close_nothrow): New function.
(rpl_close): Use it.
* m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
invalid parameter handler.
* modules/close (Depends-on): Add msvc-inval.
* modules/dup2-tests (Depends-on): Add close.
* modules/dup3-tests (Depends-on): Likewise.
* modules/fcntl-tests (Depends-on): Likewise.
* modules/spawn-pipe-tests (Depends-on): Likewise.
* modules/unistd-safer-tests (Depends-on): Likewise.
* doc/posix-functions/close.texi: Mention the problem on MSVC.
* lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
Allow replacement.
* lib/dup.c: New file.
* lib/fchdir.c (rpl_dup): Remove function.
* m4/dup.m4: New file.
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
* m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
* modules/unistd (Makefile.am): Substitute GNULIB_DUP.
* modules/dup: New file.
* tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
'dup' module is in use.
* modules/fdopendir (Depends-on): Add dup.
* modules/fdutimensat-tests (Depends-on): Likewise.
* modules/fts (Depends-on): Likewise.
* modules/futimens-tests (Depends-on): Likewise.
* modules/posix_spawnp-tests (Depends-on): Likewise.
* modules/unistd-safer-tests (Depends-on): Likewise.
* modules/utimens-tests (Depends-on): Likewise.
* doc/posix-functions/dup.texi: Mention the new module and the problem
on MSVC.
* lib/sigprocmask.c: Include msvc-inval.h.
(signal_nothrow): New function.
(signal): Redefine it.
* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
* modules/sigprocmask (Depends-on): Add msvc-inval.
* doc/posix-functions/signal.texi: Mention the problem on MSVC.
* modules/ftruncate (Status, Notice): Remove sections.
(Depends-on): Add largefile.
* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
non-mingw platforms.
* lib/ftruncate.c: Remove code for the older platforms. For Win32,
include <io.h>.
* modules/perror-tests (Depends-on): Add ftruncate.
* doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
'ftruncate' module.
* lib/dup2.c: Include msvc-inval.h.
(rpl_dup2): Handle invalid parameter notifications during dup2 and
_get_osfhandle calls.
* modules/dup2 (Depends-on): Add msvc-inval.
* doc/posix-functions/dup2.texi: Mention problem on MSVC.
* lib/stdio.in.h (popen): Declare it if the system lacks this function.
* lib/popen.c (popen): Provide alternate definition for native Windows.
* m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
* modules/popen (Depends-on, configure.ac): Update condition.
* modules/stdio (Makefile.am): Substitute HAVE_POPEN.
* doc/posix-functions/popen.texi: Mention that the MSVC problem is
fixed.