Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git] / m4 / ceil.m4
index 21d04b4..fd9ac4c 100644 (file)
@@ -1,5 +1,5 @@
-# ceil.m4 serial 5
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# ceil.m4 serial 8
+dnl Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -28,12 +28,18 @@ AC_DEFUN([gl_FUNC_CEIL],
 #include <math.h>
 ]gl_DOUBLE_MINUS_ZERO_CODE[
 ]gl_DOUBLE_SIGNBIT_CODE[
-int main()
+static double dummy (double f) { return 0; }
+int main (int argc, char *argv[])
 {
+  double (*my_ceil) (double) = argc ? ceil : dummy;
+  int result = 0;
   /* Test whether ceil (-0.0) is -0.0.  */
-  if (signbitd (minus_zerod) && !signbitd (ceil (minus_zerod)))
-    return 1;
-  return 0;
+  if (signbitd (minus_zerod) && !signbitd (my_ceil (minus_zerod)))
+    result |= 1;
+  /* Test whether ceil (-0.3) is -0.0.  */
+  if (signbitd (-0.3) && !signbitd (my_ceil (-0.3)))
+    result |= 2;
+  return result;
 }
             ]])],
             [gl_cv_func_ceil_ieee=yes],
@@ -48,7 +54,7 @@ int main()
     fi
   ])
   if test $REPLACE_CEIL = 1; then
-    AC_LIBOBJ([ceil])
+    dnl No libraries are needed to link lib/ceil.c.
     CEIL_LIBM=
   fi
   AC_SUBST([CEIL_LIBM])