Mercurial > hg > octave-kai > gnulib-hg
diff lib/math.in.h @ 16468:5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
* m4/modff-ieee.m4: New file.
* m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
whether modff works with NaN and Inf. Replace it if not.
* lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
* modules/math (Makefile.am): Substitute REPLACE_MODFF.
* modules/modff (configure.ac): Consider REPLACE_MODFF.
(Depends-on): Update dependencies.
* modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
m4/signbit.m4.
(Depends-on): Add modf-ieee.
(configure.ac): Invoke gl_FUNC_MODFF_IEEE.
* doc/posix-functions/modff.texi: Mention the modff-ieee module.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 27 Feb 2012 03:13:00 +0100 (2012-02-27) |
parents | c5b61bdb6da4 |
children | 1f4605f1f3ae |
line wrap: on
line diff
--- a/lib/math.in.h +++ b/lib/math.in.h @@ -866,11 +866,20 @@ #if @GNULIB_MODFF@ -# if !@HAVE_MODFF@ -# undef modff +# if @REPLACE_MODFF@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef modff +# define modff rpl_modff +# endif +_GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (modff, float, (float x, float *iptr)); +# else +# if !@HAVE_MODFF@ +# undef modff _GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); +# endif +_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr)); # endif -_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr)); _GL_CXXALIASWARN (modff); #elif defined GNULIB_POSIXCHECK # undef modff