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.
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.
maint.mk: also prohibit inclusion of dirent.h without use

* top/maint.mk (sc_prohibit_dirent_without_use): New rule.
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.
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.
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.
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.
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.
Tests for module 'fmaf'.

* modules/fmaf-tests: New file.
* tests/test-fmaf1.c: New file.
* tests/test-fmaf2.c: New file.
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.
Tests for module 'fmal'.

* modules/fmal-tests: New file.
* tests/test-fmal1.c: New file.
* tests/test-fmal2.c: New file.
fma*: Simplify test.

* tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
(test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
math tests: Cosmetics.

* tests/test-math-c++.cc: Reorder declarations.
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.
update from texinfo
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.
* doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
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 ":".
stdalign tests: Skip the test when compiled by Sun C.

* tests/test-stdalign.c (main): Skip the test on Sun C.
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.