# fmodl.m4
-# serial 14
+# serial 15
dnl Copyright (C) 2011-2025 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
if test $ac_cv_have_decl_fmodl = no; then
REPLACE_FMODL=1
fi
- m4_ifdef([gl_FUNC_FMODL_IEEE], [
- if test $gl_fmodl_required = ieee && test $REPLACE_FMODL = 0; then
- AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
- AC_CACHE_CHECK([whether fmodl works according to ISO C 99 with IEC 60559],
- [gl_cv_func_fmodl_ieee],
- [
- saved_LIBS="$LIBS"
- LIBS="$LIBS $FMODL_LIBM"
- AC_RUN_IFELSE(
- [AC_LANG_SOURCE([[
-#ifndef __NO_MATH_INLINES
-# define __NO_MATH_INLINES 1 /* for glibc */
-#endif
-#include <math.h>
-/* Compare two numbers with ==.
- This is a separate function because IRIX 6.5 "cc -O" miscompiles an
- 'x == x' test. */
-static int
-numeric_equal (long double x, long double y)
-{
- return x == y;
-}
-static long double dummy (long double x, long double y) { return 0; }
-int main (int argc, char *argv[])
-{
- long double (* volatile my_fmodl) (long double, long double) = argc ? fmodl : dummy;
- long double f;
- /* Test fmodl(...,0.0L).
- This test fails on OSF/1 5.1. */
- f = my_fmodl (2.0L, 0.0L);
- if (numeric_equal (f, f))
- return 1;
- return 0;
-}
- ]])],
- [gl_cv_func_fmodl_ieee=yes],
- [gl_cv_func_fmodl_ieee=no],
- [case "$host_os" in
- # Guess yes on glibc systems.
- *-gnu* | gnu*) gl_cv_func_fmodl_ieee="guessing yes" ;;
- # Guess yes on musl systems.
- *-musl* | midipix*) gl_cv_func_fmodl_ieee="guessing yes" ;;
- # Guess yes on native Windows.
- mingw* | windows*) gl_cv_func_fmodl_ieee="guessing yes" ;;
- # If we don't know, obey --enable-cross-guesses.
- *) gl_cv_func_fmodl_ieee="$gl_cross_guess_normal" ;;
- esac
- ])
- LIBS="$saved_LIBS"
- ])
- case "$gl_cv_func_fmodl_ieee" in
- *yes) ;;
- *) REPLACE_FMODL=1 ;;
- esac
- fi
- ])
else
HAVE_FMODL=0
dnl If the function is declared but does not appear to exist, it may be