diff lib/math.in.h @ 16498:e04c5a489c44

remainderf-ieee: Work around test failure on OSF/1. * m4/remainderf-ieee.m4: New file. * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is present, test whether remainderf works with a zero second argument. Replace it if not. * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF. * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF. * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF. (Depends-on): Update conditions. * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4. (Depends-on): Add remainder-ieee. (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE. * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee module.
author Bruno Haible <bruno@clisp.org>
date Mon, 27 Feb 2012 19:33:31 +0100
parents 3843e07f6df5
children 65ee7db4e4a7
line wrap: on
line diff
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -982,10 +982,19 @@
 
 
 #if @GNULIB_REMAINDERF@
-# if !@HAVE_REMAINDERF@
+# if @REPLACE_REMAINDERF@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef remainderf
+#   define remainderf rpl_remainderf
+#  endif
+_GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
+_GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
+# else
+#  if !@HAVE_REMAINDERF@
 _GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
+#  endif
+_GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
 # endif
-_GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
 _GL_CXXALIASWARN (remainderf);
 #elif defined GNULIB_POSIXCHECK
 # undef remainderf