summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--elf/link.h3
-rw-r--r--math/bits/mathcalls.h3
-rw-r--r--math/math.h52
-rw-r--r--sysdeps/generic/stdint.h4
-rw-r--r--wcsmbs/wchar.h4
-rw-r--r--wctype/wctype.h15
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  <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
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 <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 */
 
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 <inttypes.h>.  */
-# 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.  */