modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
authorBruno Haible <bruno@clisp.org>
Mon, 27 Feb 2012 00:44:57 +0000 (01:44 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 27 Feb 2012 00:44:57 +0000 (01:44 +0100)
commitb5cc9885b4b5a247870adf0ed9b9f4a5a3347a26
treec9f852a62c0086a9c8f4552f7db42c67781b18f5
parent8f32a5c4f21e3a360b1a756a88880985215d67db
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.
ChangeLog
doc/posix-functions/modf.texi
lib/math.in.h
lib/modf.c [new file with mode: 0644]
m4/math_h.m4
m4/modf-ieee.m4 [new file with mode: 0644]
m4/modf.m4
modules/math
modules/modf
modules/modf-ieee
tests/test-math-c++.cc