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:
Ulrich Drepper 1999-09-10 19:43:01 +00:00
parent ec6275c0b7
commit 6833780818
7 changed files with 54 additions and 46 deletions

View File

@ -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

View File

@ -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[];

View File

@ -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__));

View File

@ -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. */

View File

@ -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 */

View File

@ -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

View File

@ -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. */