X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fround.m4;h=e64208ed9e41e53c4c4b42068189c4dd19b99bb5;hb=60e3ab133c3ffe0bae411a44829498faf8816b34;hp=a95d905ef6dc0e54554ac620112a107ffb368704;hpb=d60f3b0c6b0f93a601acd1cfd3923f94ca05abb0;p=gnulib.git diff --git a/m4/round.m4 b/m4/round.m4 index a95d905ef..e64208ed9 100644 --- a/m4/round.m4 +++ b/m4/round.m4 @@ -1,4 +1,4 @@ -# round.m4 serial 10 +# 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; } @@ -92,7 +94,7 @@ int main() HAVE_DECL_ROUND=0 fi if test $HAVE_DECL_ROUND = 0 || test $REPLACE_ROUND = 1; then - AC_LIBOBJ([round]) + dnl Find libraries needed to link lib/round.c. gl_FUNC_FLOOR_LIBS gl_FUNC_CEIL_LIBS ROUND_LIBM=