aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog21
-rw-r--r--include/math.h9
-rw-r--r--include/sys/stat.h4
-rw-r--r--include/sys/time.h2
-rw-r--r--include/unistd.h9
-rw-r--r--stdio-common/printf_fp.c11
-rw-r--r--stdio-common/printf_size.c8
-rw-r--r--sysdeps/generic/fxstat.c5
-rw-r--r--sysdeps/generic/printf_fphex.c8
-rw-r--r--sysdeps/i386/fpu/s_isinfl.c1
-rw-r--r--sysdeps/i386/fpu/s_isnanl.c1
-rw-r--r--sysdeps/ia64/fpu/s_isinf.S7
-rw-r--r--sysdeps/ia64/fpu/s_isnan.S7
-rw-r--r--sysdeps/ieee754/dbl-64/s_isinf.c2
-rw-r--r--sysdeps/ieee754/dbl-64/s_isnan.c2
-rw-r--r--sysdeps/ieee754/flt-32/s_isinff.c1
-rw-r--r--sysdeps/ieee754/flt-32/s_isnanf.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_isinfl.c1
-rw-r--r--sysdeps/ieee754/ldbl-128/s_isnanl.c1
-rw-r--r--sysdeps/ieee754/ldbl-96/s_isinfl.c1
-rw-r--r--sysdeps/m68k/fpu/s_isinf.c3
-rw-r--r--sysdeps/m68k/s_isinfl.c3
-rw-r--r--sysdeps/powerpc/fpu/s_isnan.c5
23 files changed, 86 insertions, 29 deletions
diff --git a/ChangeLog b/ChangeLog
index 4bf1eeaa31..9715bdf5f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,26 @@
2002-04-14 Ulrich Drepper <drepper@redhat.com>
+ * include/math.h: Declare __isinf_internal, __isinfl_internal,
+ __isnan_internal, and __isnanl_internal.
+ * stdio-common/printf_fp.c: Use INTUSE for calls to __isinf, __isinfl,
+ __isnan, and __isnanl.
+ * stdio-common/printf_size.c: Likewise.
+ * sysdeps/generic/printf_fphex.c: Likewise.
+ * sysdeps/i386/fpu/s_isinfl.c: Also define _internal alias.
+ * sysdeps/i386/fpu/s_isnanl.c: Likewise.
+ * sysdeps/ia64/fpu/s_isinf.S: Likewise.
+ * sysdeps/ia64/fpu/s_isnan.S: Likewise.
+ * sysdeps/ieee754/dbl-64/s_isinf.c: Likewise.
+ * sysdeps/ieee754/dbl-64/s_isnan.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_isinff.c: Likewise.
+ * sysdeps/ieee754/flt-32/s_isnanf.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
+ * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
+ * sysdeps/ieee754/ldbl-96/s_isinfl.c: Likewise.
+ * sysdeps/m68k/s_isinfl.c: Likewise.
+ * sysdeps/m68k/fpu/s_isinf.c: Likewise.
+ * sysdeps/powerpc/fpu/s_isnan.c: Likewise.
+
* include/sys/time.h: Declare __gettimeofday_internal and define
__gettimeofday macro if not NOT_IN_libc.
* sysdeps/generic/gettimeofday.c: Use INTEDEF for __gettimeofday.
diff --git a/include/math.h b/include/math.h
index 2a694300b7..50094c1816 100644
--- a/include/math.h
+++ b/include/math.h
@@ -12,6 +12,15 @@ extern int __finitef_internal (float __value)
extern int __finitel_internal (long double __value)
__attribute__ ((__const__)) attribute_hidden;
+extern int __isinf_internal (double __value)
+ __attribute__ ((__const__)) attribute_hidden;
+extern int __isinfl_internal (long double __value)
+ __attribute__ ((__const__)) attribute_hidden;
+extern int __isnan_internal (double __value)
+ __attribute__ ((__const__)) attribute_hidden;
+extern int __isnanl_internal (long double __value)
+ __attribute__ ((__const__)) attribute_hidden;
+
#if !defined NOT_IN_libc || defined IS_IN_libm
# undef isfinite
# ifdef __NO_LONG_DOUBLE_MATH
diff --git a/include/sys/stat.h b/include/sys/stat.h
index bb89457e65..16ae6c7125 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -12,9 +12,9 @@ extern int __mkdir (__const char *__path, __mode_t __mode);
extern int __mknod (__const char *__path,
__mode_t __mode, __dev_t __dev);
extern int __fxstat_internal (int __ver, int __fildes,
- struct stat *__stat_buf);
+ struct stat *__stat_buf) attribute_hidden;
extern int __fxstat64_internal (int __ver, int __fildes,
- struct stat64 *__stat_buf) ;
+ struct stat64 *__stat_buf) attribute_hidden;
extern __inline__ int __stat (__const char *__path, struct stat *__statbuf)
{
return __xstat (_STAT_VER, __path, __statbuf);
diff --git a/include/sys/time.h b/include/sys/time.h
index 634fe8a1ed..68fcd86008 100644
--- a/include/sys/time.h
+++ b/include/sys/time.h
@@ -5,7 +5,7 @@
extern int __gettimeofday (struct timeval *__tv,
struct timezone *__tz);
extern int __gettimeofday_internal (struct timeval *__tv,
- struct timezone *__tz);
+ struct timezone *__tz) attribute_hidden;
extern int __settimeofday (__const struct timeval *__tv,
__const struct timezone *__tz);
extern int __adjtime (__const struct timeval *__delta,
diff --git a/include/unistd.h b/include/unistd.h
index 29a6041043..fe6b8b1a7c 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -47,7 +47,7 @@ extern int __rmdir (const char *__path);
char *__canonicalize_directory_name_internal (__const char *__thisdir,
char *__buf,
- size_t __size);
+ size_t __size) attribute_hidden;
extern int __dup (int __fd);
extern int __dup2 (int __fd, int __fd2);
@@ -58,7 +58,7 @@ extern long int __pathconf (__const char *__path, int __name);
extern long int __fpathconf (int __fd, int __name);
extern long int __sysconf (int __name);
extern __pid_t __getpid (void);
-extern __pid_t __getpid_internal (void);
+extern __pid_t __getpid_internal (void) attribute_hidden;
extern __pid_t __getppid (void);
extern __pid_t __setsid (void);
extern __uid_t __getuid (void);
@@ -66,7 +66,7 @@ extern __uid_t __geteuid (void);
extern __gid_t __getgid (void);
extern __gid_t __getegid (void);
extern int __getgroups (int __size, __gid_t __list[]);
-extern __pid_t __getpgid_internal (__pid_t __pid);
+extern __pid_t __getpgid_internal (__pid_t __pid) attribute_hidden;
extern int __group_member (__gid_t __gid);
extern int __setuid (__uid_t __uid);
extern int __setreuid (__uid_t __ruid, __uid_t __euid);
@@ -92,7 +92,8 @@ extern ssize_t __write (int __fd, __const void *__buf, size_t __n);
extern __pid_t __fork (void);
extern __pid_t __fork_internal (void) attribute_hidden;
extern int __getpagesize (void) __attribute__ ((__const__));
-extern int __getpagesize_internal (void) __attribute__ ((__const__));
+extern int __getpagesize_internal (void)
+ __attribute__ ((__const__)) attribute_hidden;
extern int __ftruncate (int __fd, __off_t __length);
extern int __ftruncate64 (int __fd, __off64_t __length);
extern void *__sbrk (intptr_t __delta);
diff --git a/stdio-common/printf_fp.c b/stdio-common/printf_fp.c
index 746c5aac7e..974a1f09c0 100644
--- a/stdio-common/printf_fp.c
+++ b/stdio-common/printf_fp.c
@@ -120,7 +120,8 @@ ssize_t __printf_pad __P ((FILE *, char pad, int n)); /* In vfprintf.c. */
#define MPN_GE(u,v) \
(u##size > v##size || (u##size == v##size && __mpn_cmp (u, v, u##size) >= 0))
-extern int __isinfl (long double), __isnanl (long double);
+extern int __isinfl_internal (long double) attribute_hidden;
+extern int __isnanl_internal (long double) attribute_hidden;
extern mp_size_t __mpn_extract_double (mp_ptr res_ptr, mp_size_t size,
int *expt, int *is_neg,
@@ -317,7 +318,7 @@ __printf_fp (FILE *fp,
fpnum.ldbl = *(const long double *) args[0];
/* Check for special values: not a number or infinity. */
- if (__isnanl (fpnum.ldbl))
+ if (INTUSE(__isnanl) (fpnum.ldbl))
{
if (isupper (info->spec))
{
@@ -331,7 +332,7 @@ __printf_fp (FILE *fp,
}
is_neg = 0;
}
- else if (__isinfl (fpnum.ldbl))
+ else if (INTUSE(__isinfl) (fpnum.ldbl))
{
if (isupper (info->spec))
{
@@ -361,7 +362,7 @@ __printf_fp (FILE *fp,
fpnum.dbl = *(const double *) args[0];
/* Check for special values: not a number or infinity. */
- if (__isnan (fpnum.dbl))
+ if (INTUSE(__isnan) (fpnum.dbl))
{
if (isupper (info->spec))
{
@@ -375,7 +376,7 @@ __printf_fp (FILE *fp,
}
is_neg = 0;
}
- else if (__isinf (fpnum.dbl))
+ else if (INTUSE(__isinf) (fpnum.dbl))
{
if (isupper (info->spec))
{
diff --git a/stdio-common/printf_size.c b/stdio-common/printf_size.c
index 4f2807bf77..cfb2c94c02 100644
--- a/stdio-common/printf_size.c
+++ b/stdio-common/printf_size.c
@@ -136,13 +136,13 @@ printf_size (FILE *fp, const struct printf_info *info, const void *const *args)
fpnum.ldbl.d = *(const long double *) args[0];
/* Check for special values: not a number or infinity. */
- if (__isnanl (fpnum.ldbl.d))
+ if (INTUSE(__isnanl) (fpnum.ldbl.d))
{
special = "nan";
wspecial = L"nan";
negative = 0;
}
- else if (__isinfl (fpnum.ldbl.d))
+ else if (INTUSE(__isinfl) (fpnum.ldbl.d))
{
special = "inf";
wspecial = L"inf";
@@ -162,13 +162,13 @@ printf_size (FILE *fp, const struct printf_info *info, const void *const *args)
fpnum.dbl.d = *(const double *) args[0];
/* Check for special values: not a number or infinity. */
- if (__isnan (fpnum.dbl.d))
+ if (INTUSE(__isnan) (fpnum.dbl.d))
{
special = "nan";
wspecial = L"nan";
negative = 0;
}
- else if (__isinf (fpnum.dbl.d))
+ else if (INTUSE(__isinf) (fpnum.dbl.d))
{
special = "inf";
wspecial = L"inf";
diff --git a/sysdeps/generic/fxstat.c b/sysdeps/generic/fxstat.c
index 978b40a338..6bff431dee 100644
--- a/sysdeps/generic/fxstat.c
+++ b/sysdeps/generic/fxstat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -20,6 +20,8 @@
#include <stddef.h>
#include <sys/stat.h>
+#undef __fxstat
+
/* Get information about the file descriptor FD in BUF. */
int
__fxstat (int vers, int fd, struct stat *buf)
@@ -46,5 +48,6 @@ __fxstat (int vers, int fd, struct stat *buf)
}
stub_warning (fstat)
+INTDEF(__fxstat)
weak_alias (__fxstat, _fxstat)
#include <stub-tag.h>
diff --git a/sysdeps/generic/printf_fphex.c b/sysdeps/generic/printf_fphex.c
index 7dfb116aee..794a1ab23c 100644
--- a/sysdeps/generic/printf_fphex.c
+++ b/sysdeps/generic/printf_fphex.c
@@ -170,7 +170,7 @@ __printf_fphex (FILE *fp,
fpnum.ldbl.d = *(const long double *) args[0];
/* Check for special values: not a number or infinity. */
- if (__isnanl (fpnum.ldbl.d))
+ if (INTUSE(__isnanl) (fpnum.ldbl.d))
{
if (isupper (info->spec))
{
@@ -186,7 +186,7 @@ __printf_fphex (FILE *fp,
}
else
{
- if (__isinfl (fpnum.ldbl.d))
+ if (INTUSE(__isinfl) (fpnum.ldbl.d))
{
if (isupper (info->spec))
{
@@ -209,7 +209,7 @@ __printf_fphex (FILE *fp,
fpnum.dbl.d = *(const double *) args[0];
/* Check for special values: not a number or infinity. */
- if (__isnan (fpnum.dbl.d))
+ if (INTUSE(__isnan) (fpnum.dbl.d))
{
if (isupper (info->spec))
{
@@ -225,7 +225,7 @@ __printf_fphex (FILE *fp,
}
else
{
- if (__isinf (fpnum.dbl.d))
+ if (INTUSE(__isinf) (fpnum.dbl.d))
{
if (isupper (info->spec))
{
diff --git a/sysdeps/i386/fpu/s_isinfl.c b/sysdeps/i386/fpu/s_isinfl.c
index f07898fd1b..29b3aeffc3 100644
--- a/sysdeps/i386/fpu/s_isinfl.c
+++ b/sysdeps/i386/fpu/s_isinfl.c
@@ -33,4 +33,5 @@ static char rcsid[] = "$NetBSD: $";
se &= 0x8000;
return ~(lx >> 31) & (1 - (se >> 14));
}
+INTDEF(__isinfl)
weak_alias (__isinfl, isinfl)
diff --git a/sysdeps/i386/fpu/s_isnanl.c b/sysdeps/i386/fpu/s_isnanl.c
index 6a74b956cc..ac034a6c3d 100644
--- a/sysdeps/i386/fpu/s_isnanl.c
+++ b/sysdeps/i386/fpu/s_isnanl.c
@@ -44,4 +44,5 @@ static char rcsid[] = "$NetBSD: $";
se = 0xfffe - se;
return (int)((u_int32_t)(se))>>16;
}
+INTDEF(__isnanl)
weak_alias (__isnanl, isnanl)
diff --git a/sysdeps/ia64/fpu/s_isinf.S b/sysdeps/ia64/fpu/s_isinf.S
index b51fb91904..801446ad73 100644
--- a/sysdeps/ia64/fpu/s_isinf.S
+++ b/sysdeps/ia64/fpu/s_isinf.S
@@ -1,5 +1,5 @@
/* Test for inf/-inf
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <jes@linuxcare.com>, October 2000.
@@ -43,11 +43,14 @@ ENTRY (__isinf)
(p7) mov ret0 = -1
(p8) mov ret0 = 0
br.ret.sptk.many rp
-}
+}
END (__isinf)
+strong_alias (__isinf)
strong_alias (__isinf, __isinff)
+strong_alias (__isinff)
strong_alias (__isinf, __isinfl)
+strong_alias (__isinfl)
weak_alias (__isinf, isinf)
weak_alias (__isinff, isinff)
diff --git a/sysdeps/ia64/fpu/s_isnan.S b/sysdeps/ia64/fpu/s_isnan.S
index 1d4eb69a6d..2a9c3dd8d7 100644
--- a/sysdeps/ia64/fpu/s_isnan.S
+++ b/sysdeps/ia64/fpu/s_isnan.S
@@ -1,5 +1,5 @@
/* Test for NaN
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <jes@linuxcare.com>, October 2000.
@@ -36,11 +36,14 @@ ENTRY (__isnan)
(p6) mov ret0 = 1
(p7) mov ret0 = 0
br.ret.sptk.many rp
-}
+}
END (__isnan)
+strong_alias (__isnan, __isnan_internal)
strong_alias (__isnan, __isnanf)
+strong_alias (__isnanf, __isnanf_internal)
strong_alias (__isnan, __isnanl)
+strong_alias (__isnanl, __isnanl_internal)
weak_alias (__isnan, isnan)
weak_alias (__isnanf, isnanf)
diff --git a/sysdeps/ieee754/dbl-64/s_isinf.c b/sysdeps/ieee754/dbl-64/s_isinf.c
index 4f063d09c5..ab509a00ae 100644
--- a/sysdeps/ieee754/dbl-64/s_isinf.c
+++ b/sysdeps/ieee754/dbl-64/s_isinf.c
@@ -25,8 +25,10 @@ __isinf (double x)
lx |= -lx;
return ~(lx >> 31) & (hx >> 30);
}
+INTDEF(__isinf)
weak_alias (__isinf, isinf)
#ifdef NO_LONG_DOUBLE
strong_alias (__isinf, __isinfl)
+INTDEF(__isinfl)
weak_alias (__isinf, isinfl)
#endif
diff --git a/sysdeps/ieee754/dbl-64/s_isnan.c b/sysdeps/ieee754/dbl-64/s_isnan.c
index 86301e1531..27f8565457 100644
--- a/sysdeps/ieee754/dbl-64/s_isnan.c
+++ b/sysdeps/ieee754/dbl-64/s_isnan.c
@@ -36,8 +36,10 @@ static char rcsid[] = "$NetBSD: s_isnan.c,v 1.8 1995/05/10 20:47:36 jtc Exp $";
hx = 0x7ff00000 - hx;
return (int)(((u_int32_t)hx)>>31);
}
+INTDEF(__isnan)
weak_alias (__isnan, isnan)
#ifdef NO_LONG_DOUBLE
strong_alias (__isnan, __isnanl)
+INTDEF(__isnanl)
weak_alias (__isnan, isnanl)
#endif
diff --git a/sysdeps/ieee754/flt-32/s_isinff.c b/sysdeps/ieee754/flt-32/s_isinff.c
index efc0935251..2bf2364426 100644
--- a/sysdeps/ieee754/flt-32/s_isinff.c
+++ b/sysdeps/ieee754/flt-32/s_isinff.c
@@ -25,4 +25,5 @@ __isinff (float x)
t |= -t;
return ~(t >> 31) & (ix >> 30);
}
+INTDEF(__isinff)
weak_alias (__isinff, isinff)
diff --git a/sysdeps/ieee754/flt-32/s_isnanf.c b/sysdeps/ieee754/flt-32/s_isnanf.c
index 9ec412fd66..93a3c3f200 100644
--- a/sysdeps/ieee754/flt-32/s_isnanf.c
+++ b/sysdeps/ieee754/flt-32/s_isnanf.c
@@ -8,7 +8,7 @@
*
* Developed at SunPro, a Sun Microsystems, Inc. business.
* Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
+ * software is freely granted, provided that this notice
* is preserved.
* ====================================================
*/
@@ -38,4 +38,5 @@ static char rcsid[] = "$NetBSD: s_isnanf.c,v 1.4 1995/05/10 20:47:38 jtc Exp $";
ix = 0x7f800000 - ix;
return (int)(((u_int32_t)(ix))>>31);
}
+INTDEF(__isnanf)
weak_alias (__isnanf, isnanf)
diff --git a/sysdeps/ieee754/ldbl-128/s_isinfl.c b/sysdeps/ieee754/ldbl-128/s_isinfl.c
index 038c294c79..2867e903f5 100644
--- a/sysdeps/ieee754/ldbl-128/s_isinfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isinfl.c
@@ -25,4 +25,5 @@ __isinfl (long double x)
lx |= -lx;
return ~(lx >> 63) & (hx >> 62);
}
+INTDEF(__isinfl)
weak_alias (__isinfl, isinfl)
diff --git a/sysdeps/ieee754/ldbl-128/s_isnanl.c b/sysdeps/ieee754/ldbl-128/s_isnanl.c
index d2fb4038ce..ea701fefb8 100644
--- a/sysdeps/ieee754/ldbl-128/s_isnanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isnanl.c
@@ -39,4 +39,5 @@ static char rcsid[] = "$NetBSD: $";
hx = 0x7fff000000000000LL - hx;
return (int)((u_int64_t)hx>>63);
}
+INTDEF(__isnanl)
weak_alias (__isnanl, isnanl)
diff --git a/sysdeps/ieee754/ldbl-96/s_isinfl.c b/sysdeps/ieee754/ldbl-96/s_isinfl.c
index 6f7c07c5af..919c2ff3f8 100644
--- a/sysdeps/ieee754/ldbl-96/s_isinfl.c
+++ b/sysdeps/ieee754/ldbl-96/s_isinfl.c
@@ -26,4 +26,5 @@ __isinfl (long double x)
se &= 0x8000;
return ~(lx >> 31) & (1 - (se >> 14));
}
+INTDEF(__isinfl)
weak_alias (__isinfl, isinfl)
diff --git a/sysdeps/m68k/fpu/s_isinf.c b/sysdeps/m68k/fpu/s_isinf.c
index e654e880e3..98a7c62a91 100644
--- a/sysdeps/m68k/fpu/s_isinf.c
+++ b/sysdeps/m68k/fpu/s_isinf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -34,5 +34,6 @@ __CONCATX(__,FUNC) (x)
return __m81_u(__CONCATX(__,FUNC))(x);
}
+INTDEF(__CONCATX(__,FUNC))
#define weak_aliasx(a,b) weak_alias(a,b)
weak_aliasx (__CONCATX(__,FUNC), FUNC)
diff --git a/sysdeps/m68k/s_isinfl.c b/sysdeps/m68k/s_isinfl.c
index 40e0b791d5..89880bc4e4 100644
--- a/sysdeps/m68k/s_isinfl.c
+++ b/sysdeps/m68k/s_isinfl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -42,4 +42,5 @@ __isinfl (long double value)
return 0;
}
+INTDEF(__isinfl)
weak_alias (__isinfl, isinfl);
diff --git a/sysdeps/powerpc/fpu/s_isnan.c b/sysdeps/powerpc/fpu/s_isnan.c
index 038819b84e..14d586d6e4 100644
--- a/sysdeps/powerpc/fpu/s_isnan.c
+++ b/sysdeps/powerpc/fpu/s_isnan.c
@@ -1,5 +1,5 @@
/* Return 1 if argument is a NaN, else 0.
- Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997, 2000, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -36,6 +36,7 @@ __isnan (x)
fesetenv_register (savedstate);
return result;
}
+INTDEF(__isnan)
weak_alias (__isnan, isnan)
/* It turns out that the 'double' version will also always work for
@@ -43,9 +44,11 @@ weak_alias (__isnan, isnan)
#undef __isnanf
#undef isnanf
strong_alias (__isnan, __isnanf)
+INTDEF(__isnanf)
weak_alias (__isnanf, isnanf)
#ifdef NO_LONG_DOUBLE
strong_alias (__isnan, __isnanl)
+INTDEF(__isnanl)
weak_alias (__isnan, isnanl)
#endif