diff lib/math.in.h @ 16412:a50ff00ce4ee

remainder: Support for MSVC. * lib/math.in.h (remainder): New declaration. * lib/remainder.c: New file. * m4/remainder.m4: New file. * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4. (Depends-on): Add math, round, fma. (configure.ac): Use results of gl_FUNC_REMAINDER. * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER, HAVE_DECL_REMAINDER. * modules/math (Makefile.am): Substitute GNULIB_REMAINDER, HAVE_REMAINDER, HAVE_DECL_REMAINDER. * tests/test-math-c++.cc: Check the declaration of remainder. * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5 problems are fixed.
author Bruno Haible <bruno@clisp.org>
date Sat, 25 Feb 2012 18:27:46 +0100
parents 7a80e494e5e8
children 3a9564d7a3a5
line wrap: on
line diff
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -898,6 +898,21 @@
 #endif
 
 
+#if @GNULIB_REMAINDER@
+# if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@
+_GL_FUNCDECL_SYS (remainder, double, (double x, double y));
+# endif
+_GL_CXXALIAS_SYS (remainder, double, (double x, double y));
+_GL_CXXALIASWARN (remainder);
+#elif defined GNULIB_POSIXCHECK
+# undef remainder
+# if HAVE_RAW_DECL_REMAINDER
+_GL_WARN_ON_USE (remainder, "remainder is unportable - "
+                 "use gnulib module remainder for portability");
+# endif
+#endif
+
+
 #if @GNULIB_RINTF@
 # if !@HAVE_RINTF@
 _GL_FUNCDECL_SYS (rintf, float, (float x));