Update.
* 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.
This commit is contained in:
parent
29886719b5
commit
f83af095b6
21
ChangeLog
21
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.
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -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";
|
||||
|
@ -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>
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -33,4 +33,5 @@ static char rcsid[] = "$NetBSD: $";
|
||||
se &= 0x8000;
|
||||
return ~(lx >> 31) & (1 - (se >> 14));
|
||||
}
|
||||
INTDEF(__isinfl)
|
||||
weak_alias (__isinfl, isinfl)
|
||||
|
@ -44,4 +44,5 @@ static char rcsid[] = "$NetBSD: $";
|
||||
se = 0xfffe - se;
|
||||
return (int)((u_int32_t)(se))>>16;
|
||||
}
|
||||
INTDEF(__isnanl)
|
||||
weak_alias (__isnanl, isnanl)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -25,4 +25,5 @@ __isinff (float x)
|
||||
t |= -t;
|
||||
return ~(t >> 31) & (ix >> 30);
|
||||
}
|
||||
INTDEF(__isinff)
|
||||
weak_alias (__isinff, isinff)
|
||||
|
@ -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)
|
||||
|
@ -25,4 +25,5 @@ __isinfl (long double x)
|
||||
lx |= -lx;
|
||||
return ~(lx >> 63) & (hx >> 62);
|
||||
}
|
||||
INTDEF(__isinfl)
|
||||
weak_alias (__isinfl, isinfl)
|
||||
|
@ -39,4 +39,5 @@ static char rcsid[] = "$NetBSD: $";
|
||||
hx = 0x7fff000000000000LL - hx;
|
||||
return (int)((u_int64_t)hx>>63);
|
||||
}
|
||||
INTDEF(__isnanl)
|
||||
weak_alias (__isnanl, isnanl)
|
||||
|
@ -26,4 +26,5 @@ __isinfl (long double x)
|
||||
se &= 0x8000;
|
||||
return ~(lx >> 31) & (1 - (se >> 14));
|
||||
}
|
||||
INTDEF(__isinfl)
|
||||
weak_alias (__isinfl, isinfl)
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user