From 6833780818c60b3f3a0a120f711369bb8158a0d5 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 10 Sep 1999 19:43:01 +0000 Subject: Update. 1999-09-10 Ulrich Drepper * 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 * elf/link.h: Fix comment. 1999-09-10 Ulrich Drepper * math/bits/mathcalls.h: Add __isnan declaration [PR libc/1294]. * math/math.h: Pretty print. --- ChangeLog | 19 ++++++++++++++++++ elf/link.h | 3 ++- math/bits/mathcalls.h | 3 +++ math/math.h | 52 ++++++++++++++++++++++++------------------------ sysdeps/generic/stdint.h | 4 ++-- wcsmbs/wchar.h | 4 ++-- wctype/wctype.h | 15 -------------- 7 files changed, 54 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index b44e29dbd8..241fa41da3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +1999-09-10 Ulrich Drepper + + * 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 + + * elf/link.h: Fix comment. + +1999-09-10 Ulrich Drepper + + * math/bits/mathcalls.h: Add __isnan declaration [PR libc/1294]. + + * math/math.h: Pretty print. + 1999-09-10 Andreas Schwab * sysdeps/generic/getenv.c (getenv): Fix lookup for single diff --git a/elf/link.h b/elf/link.h index 9b6e9df7e6..e8203596ff 100644 --- a/elf/link.h +++ b/elf/link.h @@ -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[]; diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 7f41ef9711..0a4f3eaab4 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -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__)); diff --git a/math/math.h b/math/math.h index 291fb0e5d3..0e2b4e7e5e 100644 --- a/math/math.h +++ b/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. */ diff --git a/sysdeps/generic/stdint.h b/sysdeps/generic/stdint.h index a0d1c64901..9713d52348 100644 --- a/sysdeps/generic/stdint.h +++ b/sysdeps/generic/stdint.h @@ -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 . */ -# 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 */ diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h index be27dbc622..19e6d877be 100644 --- a/wcsmbs/wchar.h +++ b/wcsmbs/wchar.h @@ -77,8 +77,8 @@ typedef __mbstate_t mbstate_t; #ifndef WCHAR_MIN /* These constants might also be defined in . */ -# define WCHAR_MIN ((wchar_t) 0) -# define WCHAR_MAX (~WCHAR_MIN) +# define WCHAR_MIN (0) +# define WCHAR_MAX (0x7fffffff) #endif #ifndef WEOF diff --git a/wctype/wctype.h b/wctype/wctype.h index 2ecd33a711..521fcca76e 100644 --- a/wctype/wctype.h +++ b/wctype/wctype.h @@ -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. */ -- cgit 1.4.1