mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 09:43:32 +08:00
Update.
1999-09-10 Ulrich Drepper <drepper@cygnus.com> * wcsmbs/wchar.h (WCHAR_MIN, WCHAR_MAX): Use all-numeric values. * sysdeps/generic/stdint.h: Correct WCHAR_MIN, WCHAR_MAX, and WINT_MAX values. * wctype/wctype.h: Remove incorrect towlower/towupper optimizations. 1999-09-09 Andreas Schwab <schwab@suse.de> * elf/link.h: Fix comment. 1999-09-10 Ulrich Drepper <drepper@cygnus.com> * math/bits/mathcalls.h: Add __isnan declaration [PR libc/1294]. * math/math.h: Pretty print.
This commit is contained in:
parent
ec6275c0b7
commit
6833780818
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
||||
1999-09-10 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* wcsmbs/wchar.h (WCHAR_MIN, WCHAR_MAX): Use all-numeric values.
|
||||
|
||||
* sysdeps/generic/stdint.h: Correct WCHAR_MIN, WCHAR_MAX, and
|
||||
WINT_MAX values.
|
||||
|
||||
* wctype/wctype.h: Remove incorrect towlower/towupper optimizations.
|
||||
|
||||
1999-09-09 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* elf/link.h: Fix comment.
|
||||
|
||||
1999-09-10 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* math/bits/mathcalls.h: Add __isnan declaration [PR libc/1294].
|
||||
|
||||
* math/math.h: Pretty print.
|
||||
|
||||
1999-09-10 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* sysdeps/generic/getenv.c (getenv): Fix lookup for single
|
||||
|
@ -70,7 +70,8 @@ extern struct r_debug _r_debug;
|
||||
of whatever module refers to `_DYNAMIC'. So, to find its own
|
||||
`struct r_debug', a program could do:
|
||||
for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL)
|
||||
if (dyn->d_tag == DT_DEBUG) r_debug = (struct r_debug) dyn->d_un.d_ptr;
|
||||
if (dyn->d_tag == DT_DEBUG)
|
||||
r_debug = (struct r_debug *) dyn->d_un.d_ptr;
|
||||
*/
|
||||
extern ElfW(Dyn) _DYNAMIC[];
|
||||
|
||||
|
@ -210,6 +210,9 @@ __MATHCALLX (nan,, (__const char *__tagb), (__const__));
|
||||
#endif
|
||||
|
||||
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
__MATHDECLX (int,__isnan,, (_Mdouble_ __value), (__const__));
|
||||
|
||||
#if defined __USE_MISC || defined __USE_XOPEN
|
||||
/* Return nonzero if VALUE is not a number. */
|
||||
__MATHDECLX (int,isnan,, (_Mdouble_ __value), (__const__));
|
||||
|
52
math/math.h
52
math/math.h
@ -1,5 +1,5 @@
|
||||
/* Declarations for math functions.
|
||||
Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991,92,93,95,96,97,98,99 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
|
||||
@ -166,68 +166,68 @@ enum
|
||||
};
|
||||
|
||||
/* Return number of classification appropriate for X. */
|
||||
#ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define fpclassify(x) \
|
||||
# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define fpclassify(x) \
|
||||
(sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
|
||||
#else
|
||||
# define fpclassify(x) \
|
||||
# else
|
||||
# define fpclassify(x) \
|
||||
(sizeof (x) == sizeof (float) ? \
|
||||
__fpclassifyf (x) \
|
||||
: sizeof (x) == sizeof (double) ? \
|
||||
__fpclassify (x) : __fpclassifyl (x))
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/* Return nonzero value if sign of X is negative. */
|
||||
#ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define signbit(x) \
|
||||
# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define signbit(x) \
|
||||
(sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
|
||||
#else
|
||||
# define signbit(x) \
|
||||
# else
|
||||
# define signbit(x) \
|
||||
(sizeof (x) == sizeof (float) ? \
|
||||
__signbitf (x) \
|
||||
: sizeof (x) == sizeof (double) ? \
|
||||
__signbit (x) : __signbitl (x))
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/* Return nonzero value if X is not +-Inf or NaN. */
|
||||
#ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isfinite(x) \
|
||||
# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isfinite(x) \
|
||||
(sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
|
||||
#else
|
||||
# define isfinite(x) \
|
||||
# else
|
||||
# define isfinite(x) \
|
||||
(sizeof (x) == sizeof (float) ? \
|
||||
__finitef (x) \
|
||||
: sizeof (x) == sizeof (double) ? \
|
||||
__finite (x) : __finitel (x))
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
|
||||
# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
||||
|
||||
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
||||
we already have this functions `__isnan' and it is faster. */
|
||||
#ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isnan(x) \
|
||||
# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isnan(x) \
|
||||
(sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
|
||||
#else
|
||||
# define isnan(x) \
|
||||
# else
|
||||
# define isnan(x) \
|
||||
(sizeof (x) == sizeof (float) ? \
|
||||
__isnanf (x) \
|
||||
: sizeof (x) == sizeof (double) ? \
|
||||
__isnan (x) : __isnanl (x))
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/* Return nonzero value is X is positive or negative infinity. */
|
||||
#ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isinf(x) \
|
||||
# ifdef __NO_LONG_DOUBLE_MATH
|
||||
# define isinf(x) \
|
||||
(sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
|
||||
#else
|
||||
# define isinf(x) \
|
||||
# else
|
||||
# define isinf(x) \
|
||||
(sizeof (x) == sizeof (float) ? \
|
||||
__isinff (x) \
|
||||
: sizeof (x) == sizeof (double) ? \
|
||||
__isinf (x) : __isinfl (x))
|
||||
#endif
|
||||
# endif
|
||||
|
||||
#endif /* Use ISO C 9X. */
|
||||
|
||||
|
@ -269,13 +269,13 @@ typedef unsigned long long int uintmax_t;
|
||||
/* Limits of `wchar_t'. */
|
||||
# ifndef WCHAR_MIN
|
||||
/* These constants might also be defined in <wchar.h>. */
|
||||
# define WCHAR_MIN (-2147483647-1)
|
||||
# define WCHAR_MIN (0)
|
||||
# define WCHAR_MAX (2147483647)
|
||||
# endif
|
||||
|
||||
/* Limits of `wint_t'. */
|
||||
# define WINT_MIN (0)
|
||||
# define WINT_MAX (4294967295U)
|
||||
# define WINT_MAX (2147483647)
|
||||
|
||||
#endif /* C++ && limit macros */
|
||||
|
||||
|
@ -77,8 +77,8 @@ typedef __mbstate_t mbstate_t;
|
||||
|
||||
#ifndef WCHAR_MIN
|
||||
/* These constants might also be defined in <inttypes.h>. */
|
||||
# define WCHAR_MIN ((wchar_t) 0)
|
||||
# define WCHAR_MAX (~WCHAR_MIN)
|
||||
# define WCHAR_MIN (0)
|
||||
# define WCHAR_MAX (0x7fffffff)
|
||||
#endif
|
||||
|
||||
#ifndef WEOF
|
||||
|
@ -235,21 +235,6 @@ extern wint_t towupper __P ((wint_t __wc));
|
||||
/* Map the wide character WC using the mapping described by DESC. */
|
||||
extern wint_t __towctrans __P ((wint_t __wc, wctrans_t __desc));
|
||||
|
||||
#if __GNUC__ >= 2 && defined __OPTIMIZE__
|
||||
/* The tables are always organized in a way which allows direct access
|
||||
for single byte characters. */
|
||||
extern __const __int32_t *__ctype_tolower; /* Case conversions. */
|
||||
extern __const __int32_t *__ctype_toupper; /* Case conversions. */
|
||||
|
||||
# define towlower(wc) \
|
||||
(__builtin_constant_p (wc) && (wc) >= L'\0' && (wc) <= L'\xff' \
|
||||
? (wint_t) __ctype_tolower[wc] : towlower (wc))
|
||||
# define towuppert(wc) \
|
||||
(__builtin_constant_p (wc) && (wc) >= L'\0' && (wc) <= L'\xff' \
|
||||
? (wint_t) __ctype_toupper[wc] : towupper (wc))
|
||||
|
||||
#endif /* gcc && optimizing */
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* need iswxxx. */
|
||||
|
Loading…
Reference in New Issue
Block a user