mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-07 06:43:00 +03: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:
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>
|
1999-09-10 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
* sysdeps/generic/getenv.c (getenv): Fix lookup for single
|
* 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
|
of whatever module refers to `_DYNAMIC'. So, to find its own
|
||||||
`struct r_debug', a program could do:
|
`struct r_debug', a program could do:
|
||||||
for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL)
|
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[];
|
extern ElfW(Dyn) _DYNAMIC[];
|
||||||
|
|
||||||
|
@@ -210,6 +210,9 @@ __MATHCALLX (nan,, (__const char *__tagb), (__const__));
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Return nonzero if VALUE is not a number. */
|
||||||
|
__MATHDECLX (int,__isnan,, (_Mdouble_ __value), (__const__));
|
||||||
|
|
||||||
#if defined __USE_MISC || defined __USE_XOPEN
|
#if defined __USE_MISC || defined __USE_XOPEN
|
||||||
/* Return nonzero if VALUE is not a number. */
|
/* Return nonzero if VALUE is not a number. */
|
||||||
__MATHDECLX (int,isnan,, (_Mdouble_ __value), (__const__));
|
__MATHDECLX (int,isnan,, (_Mdouble_ __value), (__const__));
|
||||||
|
52
math/math.h
52
math/math.h
@@ -1,5 +1,5 @@
|
|||||||
/* Declarations for math functions.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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. */
|
/* Return number of classification appropriate for X. */
|
||||||
#ifdef __NO_LONG_DOUBLE_MATH
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
# define fpclassify(x) \
|
# define fpclassify(x) \
|
||||||
(sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
|
(sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
|
||||||
#else
|
# else
|
||||||
# define fpclassify(x) \
|
# define fpclassify(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__fpclassifyf (x) \
|
__fpclassifyf (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__fpclassify (x) : __fpclassifyl (x))
|
__fpclassify (x) : __fpclassifyl (x))
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Return nonzero value if sign of X is negative. */
|
/* Return nonzero value if sign of X is negative. */
|
||||||
#ifdef __NO_LONG_DOUBLE_MATH
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
# define signbit(x) \
|
# define signbit(x) \
|
||||||
(sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
|
(sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
|
||||||
#else
|
# else
|
||||||
# define signbit(x) \
|
# define signbit(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__signbitf (x) \
|
__signbitf (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__signbit (x) : __signbitl (x))
|
__signbit (x) : __signbitl (x))
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Return nonzero value if X is not +-Inf or NaN. */
|
/* Return nonzero value if X is not +-Inf or NaN. */
|
||||||
#ifdef __NO_LONG_DOUBLE_MATH
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
# define isfinite(x) \
|
# define isfinite(x) \
|
||||||
(sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
|
(sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
|
||||||
#else
|
# else
|
||||||
# define isfinite(x) \
|
# define isfinite(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__finitef (x) \
|
__finitef (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__finite (x) : __finitel (x))
|
__finite (x) : __finitel (x))
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
|
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
|
||||||
# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
||||||
|
|
||||||
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
||||||
we already have this functions `__isnan' and it is faster. */
|
we already have this functions `__isnan' and it is faster. */
|
||||||
#ifdef __NO_LONG_DOUBLE_MATH
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
# define isnan(x) \
|
# define isnan(x) \
|
||||||
(sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
|
(sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
|
||||||
#else
|
# else
|
||||||
# define isnan(x) \
|
# define isnan(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__isnanf (x) \
|
__isnanf (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__isnan (x) : __isnanl (x))
|
__isnan (x) : __isnanl (x))
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Return nonzero value is X is positive or negative infinity. */
|
/* Return nonzero value is X is positive or negative infinity. */
|
||||||
#ifdef __NO_LONG_DOUBLE_MATH
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
# define isinf(x) \
|
# define isinf(x) \
|
||||||
(sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
|
(sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
|
||||||
#else
|
# else
|
||||||
# define isinf(x) \
|
# define isinf(x) \
|
||||||
(sizeof (x) == sizeof (float) ? \
|
(sizeof (x) == sizeof (float) ? \
|
||||||
__isinff (x) \
|
__isinff (x) \
|
||||||
: sizeof (x) == sizeof (double) ? \
|
: sizeof (x) == sizeof (double) ? \
|
||||||
__isinf (x) : __isinfl (x))
|
__isinf (x) : __isinfl (x))
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#endif /* Use ISO C 9X. */
|
#endif /* Use ISO C 9X. */
|
||||||
|
|
||||||
|
@@ -269,13 +269,13 @@ typedef unsigned long long int uintmax_t;
|
|||||||
/* Limits of `wchar_t'. */
|
/* Limits of `wchar_t'. */
|
||||||
# ifndef WCHAR_MIN
|
# ifndef WCHAR_MIN
|
||||||
/* These constants might also be defined in <wchar.h>. */
|
/* These constants might also be defined in <wchar.h>. */
|
||||||
# define WCHAR_MIN (-2147483647-1)
|
# define WCHAR_MIN (0)
|
||||||
# define WCHAR_MAX (2147483647)
|
# define WCHAR_MAX (2147483647)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* Limits of `wint_t'. */
|
/* Limits of `wint_t'. */
|
||||||
# define WINT_MIN (0)
|
# define WINT_MIN (0)
|
||||||
# define WINT_MAX (4294967295U)
|
# define WINT_MAX (2147483647)
|
||||||
|
|
||||||
#endif /* C++ && limit macros */
|
#endif /* C++ && limit macros */
|
||||||
|
|
||||||
|
@@ -77,8 +77,8 @@ typedef __mbstate_t mbstate_t;
|
|||||||
|
|
||||||
#ifndef WCHAR_MIN
|
#ifndef WCHAR_MIN
|
||||||
/* These constants might also be defined in <inttypes.h>. */
|
/* These constants might also be defined in <inttypes.h>. */
|
||||||
# define WCHAR_MIN ((wchar_t) 0)
|
# define WCHAR_MIN (0)
|
||||||
# define WCHAR_MAX (~WCHAR_MIN)
|
# define WCHAR_MAX (0x7fffffff)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef WEOF
|
#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. */
|
/* Map the wide character WC using the mapping described by DESC. */
|
||||||
extern wint_t __towctrans __P ((wint_t __wc, wctrans_t __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
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* need iswxxx. */
|
#endif /* need iswxxx. */
|
||||||
|
Reference in New Issue
Block a user