X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fround.m4;h=e64208ed9e41e53c4c4b42068189c4dd19b99bb5;hb=0ada06493e433443e449048a44dcc119a7613eed;hp=d8abbcdb596708838ca2c84618ddd7f0db8954b3;hpb=3e5de6c5160e5d0263c789120e43d52f0d5fc819;p=gnulib.git diff --git a/m4/round.m4 b/m4/round.m4 index d8abbcdb5..e64208ed9 100644 --- a/m4/round.m4 +++ b/m4/round.m4 @@ -1,4 +1,4 @@ -# round.m4 serial 11 +# round.m4 serial 13 dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_ROUND], AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Persuade glibc to declare round(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_DECLS([round], , , [#include ]) + AC_CHECK_DECLS([round], , , [[#include ]]) if test "$ac_cv_have_decl_round" = yes; then gl_CHECK_MATH_LIB([ROUND_LIBM], [x = round (x);]) if test "$ROUND_LIBM" != missing; then @@ -69,10 +69,12 @@ int main() #include ]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_round) (double) = argc ? round : dummy; /* Test whether round (-0.0) is -0.0. */ - if (signbitd (minus_zerod) && !signbitd (round (minus_zerod))) + if (signbitd (minus_zerod) && !signbitd (my_round (minus_zerod))) return 1; return 0; }