about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog29
-rw-r--r--ctype/ctype-extn.c3
-rw-r--r--ctype/ctype.h7
-rw-r--r--include/langinfo.h2
-rw-r--r--include/stdlib.h8
-rw-r--r--include/string.h5
-rw-r--r--include/time.h3
-rw-r--r--include/wchar.h14
-rw-r--r--include/wctype.h15
-rw-r--r--locale/langinfo.h1
-rw-r--r--stdlib/monetary.h8
-rw-r--r--stdlib/stdlib.h23
-rw-r--r--stdlib/strfmon_l.c4
-rw-r--r--string/string.h9
-rw-r--r--sysdeps/generic/strtol_l.c4
-rw-r--r--sysdeps/generic/strtoll_l.c4
-rw-r--r--sysdeps/generic/strtoul_l.c4
-rw-r--r--sysdeps/generic/strtoull_l.c4
-rw-r--r--time/strftime.c2
-rw-r--r--time/time.h7
-rw-r--r--wcsmbs/wchar.h36
-rw-r--r--wctype/iswctype_l.c3
-rw-r--r--wctype/wctype.h23
23 files changed, 104 insertions, 114 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b55618600..424af0f37c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,34 @@
+2002-08-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts.
+	* ctype/ctype-extn.c (isblank_l): Add weak alias.
+	* sysdeps/generic/strtol_l.c (strtol_l): Likewise.
+	* sysdeps/generic/strtoll_l.c (strtoll_l): Likewise.
+	* sysdeps/generic/strtoul_l.c (strtoul_l): Likewise.
+	* sysdeps/generic/strtoull_l.c (strtoull_l): Likewise.
+	* wctype/iswctype_l.c (iswctype_l): Likewise.
+
 2002-08-27  Roland McGrath  <roland@redhat.com>
 
+	* time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def.
+
+	* ctype/ctype.h (__exctype_l): Don't declare __ name.
+	* stdlib/stdlib.h: Don't declare __*_l names.
+	* include/stdlib.h: Declare them here instead.
+	* include/string.h: Don't declare __*_l names.
+	* string/string.h: Declare them here instead.
+	* time/time.h: Don't declare __*_l names.
+	* include/time.h: Declare them here instead.
+	* wcsmbs/wchar.h: Don't declare __*_l names.
+	* include/wchar.h: Declare them here instead.
+	* wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l.
+	Don't declare __*_l names.
+	* include/wctype.h: Declare them here instead.
+	* stdlib/monetary.h: Declare strfmon_l, not __strfmon_l.
+	* stdlib/strfmon_l.c (strfmon_l): Define as weak alias.
+	* locale/langinfo.h: Don't declare __nl_langinfo_l.
+	* include/langinfo.h: Declare it here with __typeof.
+
 	* time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strptime_l
 	instead, taking an extra __locale_t argument.
 	* time/Makefile (routines): Add strptime_l.
diff --git a/ctype/ctype-extn.c b/ctype/ctype-extn.c
index 764a5d34ef..4bab5a0298 100644
--- a/ctype/ctype-extn.c
+++ b/ctype/ctype-extn.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1997, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1997, 1999, 2000, 2002 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
@@ -59,3 +59,4 @@ __isblank_l (int c, __locale_t l)
 {
   return __isctype_l (c, _ISblank, l);
 }
+weak_alias (__isblank_l, isblank_l)
diff --git a/ctype/ctype.h b/ctype/ctype.h
index c17aaf171c..4a8ce30d04 100644
--- a/ctype/ctype.h
+++ b/ctype/ctype.h
@@ -216,8 +216,7 @@ toupper (int __c) __THROW
   ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
 
 # define __exctype_l(name) 						      \
-  extern int name (int, __locale_t) __THROW;				      \
-  extern int __##name (int, __locale_t) __THROW
+  extern int name (int, __locale_t) __THROW
 
 /* The following names are all functions:
      int isCHARACTERISTIC(int c, locale_t *locale);
@@ -291,8 +290,8 @@ extern int toupper_l (int __c, __locale_t __l) __THROW;
 #  define isblank_l(c,l)	__isblank_l ((c), (l))
 
 #  if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
-#   define isascii_l(c,l)	__isascii ((c), (l))
-#   define toascii_l(c,l)	__toascii ((c), (l))
+#   define isascii_l(c,l)	__isascii_l ((c), (l))
+#   define toascii_l(c,l)	__toascii_l ((c), (l))
 #  endif
 
 # endif /* Not __NO_CTYPE.  */
diff --git a/include/langinfo.h b/include/langinfo.h
index 82ff070c89..8f93671658 100644
--- a/include/langinfo.h
+++ b/include/langinfo.h
@@ -4,4 +4,6 @@
 
 libc_hidden_proto (nl_langinfo)
 
+extern __typeof (nl_langinfo_l) __nl_langinfo_l;
+
 #endif
diff --git a/include/stdlib.h b/include/stdlib.h
index 7a98943725..6b17f35ec6 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -10,6 +10,14 @@
 /* Now define the internal interfaces.  */
 #ifndef __Need_M_And_C
 
+extern __typeof (strtol_l) __strtol_l;
+extern __typeof (strtoul_l) __strtoul_l;
+extern __typeof (strtoll_l) __strtoll_l;
+extern __typeof (strtoull_l) __strtoull_l;
+extern __typeof (strtod_l) __strtod_l;
+extern __typeof (strtof_l) __strtof_l;
+extern __typeof (strtold_l) __strtold_l;
+
 libc_hidden_proto (exit)
 libc_hidden_proto (abort)
 libc_hidden_proto (getenv)
diff --git a/include/string.h b/include/string.h
index c1df7acb93..6d9e4d3561 100644
--- a/include/string.h
+++ b/include/string.h
@@ -48,6 +48,11 @@ extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen);
    above are defined as macros in the headers.  */
 #include <string/string.h>
 
+extern __typeof (strcoll_l) __strcoll_l;
+extern __typeof (strxfrm_l) __strxfrm_l;
+extern __typeof (strcasecmp_l) __strcasecmp_l;
+extern __typeof (strncasecmp_l) __strncasecmp_l;
+
 /* Alternative version which doesn't pollute glibc's namespace.  */
 #undef strndupa
 #define strndupa(s, n)							      \
diff --git a/include/time.h b/include/time.h
index 3b63b3dc9c..b57b7be1b4 100644
--- a/include/time.h
+++ b/include/time.h
@@ -4,6 +4,9 @@
 #else
 # include <time/time.h>
 
+extern __typeof (strftime_l) __strftime_l;
+extern __typeof (strptime_l) __strptime_l;
+
 libc_hidden_proto (time)
 libc_hidden_proto (asctime)
 libc_hidden_proto (mktime)
diff --git a/include/wchar.h b/include/wchar.h
index 7d3de19421..32afcbb6bb 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -3,6 +3,20 @@
 
 # ifdef _WCHAR_H
 
+extern __typeof (wcscasecmp_l) __wcscasecmp_l;
+extern __typeof (wcsncasecmp_l) __wcsncasecmp_l;
+extern __typeof (wcscoll_l) __wcscoll_l;
+extern __typeof (wcsxfrm_l) __wcsxfrm_l;
+extern __typeof (wcstol_l) __wcstol_l;
+extern __typeof (wcstoul_l) __wcstoul_l;
+extern __typeof (wcstoll_l) __wcstoll_l;
+extern __typeof (wcstoull_l) __wcstoull_l;
+extern __typeof (wcstod_l) __wcstod_l;
+extern __typeof (wcstof_l) __wcstof_l;
+extern __typeof (wcstold_l) __wcstold_l;
+extern __typeof (wcsftime_l) __wcsftime_l;
+
+
 libc_hidden_proto (__wcstof_internal)
 libc_hidden_proto (__wcstod_internal)
 libc_hidden_proto (__wcstold_internal)
diff --git a/include/wctype.h b/include/wctype.h
index d094d624c5..9382f32ea8 100644
--- a/include/wctype.h
+++ b/include/wctype.h
@@ -49,6 +49,21 @@ extern int __iswctype_internal (wint_t __wc, wctype_t __desc) attribute_hidden;
 extern wctype_t __wctype (__const char *__property);
 extern wint_t __towctrans (wint_t __wc, wctrans_t __desc);
 
+extern __typeof (iswalnum_l) __iswalnum_l;
+extern __typeof (iswalpha_l) __iswalpha_l;
+extern __typeof (iswblank_l) __iswblank_l;
+extern __typeof (iswcntrl_l) __iswcntrl_l;
+extern __typeof (iswdigit_l) __iswdigit_l;
+extern __typeof (iswlower_l) __iswlower_l;
+extern __typeof (iswgraph_l) __iswgraph_l;
+extern __typeof (iswprint_l) __iswprint_l;
+extern __typeof (iswpunct_l) __iswpunct_l;
+extern __typeof (iswspace_l) __iswspace_l;
+extern __typeof (iswupper_l) __iswupper_l;
+extern __typeof (iswxdigit_l) __iswxdigit_l;
+extern __typeof (towlower_l) __towlower_l;
+extern __typeof (towupper_l) __towupper_l;
+
 libc_hidden_proto (__iswctype)
 libc_hidden_proto (__iswalnum_l)
 libc_hidden_proto (__iswalpha_l)
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 557129f83a..ef17b15ba2 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -583,7 +583,6 @@ extern char *nl_langinfo (nl_item __item) __THROW;
 # include <xlocale.h>
 
 /* Just like nl_langinfo but get the information from the locale object L.  */
-extern char *__nl_langinfo_l (nl_item __item, __locale_t l);
 extern char *nl_langinfo_l (nl_item __item, __locale_t l);
 #endif
 
diff --git a/stdlib/monetary.h b/stdlib/monetary.h
index ca81d103b6..4c8a4cd3d4 100644
--- a/stdlib/monetary.h
+++ b/stdlib/monetary.h
@@ -1,5 +1,5 @@
 /* Header file for monetary value formatting functions.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996,97,98,99,2000,02 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
@@ -44,9 +44,9 @@ extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
 # include <xlocale.h>
 
 /* Formatting a monetary value according to the current locale.  */
-extern ssize_t __strfmon_l (char *__restrict __s, size_t __maxsize,
-			    __locale_t loc,
-			    __const char *__restrict __format, ...)
+extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
+			  __locale_t loc,
+			  __const char *__restrict __format, ...)
      __THROW __attribute_format_strfmon__ (4, 5);
 #endif
 
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index ccead6b023..232b3812fa 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -212,55 +212,32 @@ extern unsigned long long int strtoull (__const char *__restrict __nptr,
 
 /* Special versions of the functions above which take the locale to
    use as an additional parameter.  */
-extern long int __strtol_l (__const char *__restrict __nptr,
-			    char **__restrict __endptr, int __base,
-			    __locale_t __loc) __THROW;
 extern long int strtol_l (__const char *__restrict __nptr,
 			  char **__restrict __endptr, int __base,
 			  __locale_t __loc) __THROW;
 
-extern unsigned long int __strtoul_l (__const char *__restrict __nptr,
-				      char **__restrict __endptr,
-				      int __base, __locale_t __loc) __THROW;
 extern unsigned long int strtoul_l (__const char *__restrict __nptr,
 				    char **__restrict __endptr,
 				    int __base, __locale_t __loc) __THROW;
 
 __extension__
-extern long long int __strtoll_l (__const char *__restrict __nptr,
-				  char **__restrict __endptr, int __base,
-				  __locale_t __loc) __THROW;
-__extension__
 extern long long int strtoll_l (__const char *__restrict __nptr,
 				char **__restrict __endptr, int __base,
 				__locale_t __loc) __THROW;
 
 __extension__
-extern unsigned long long int __strtoull_l (__const char *__restrict __nptr,
-					    char **__restrict __endptr,
-					    int __base, __locale_t __loc)
-     __THROW;
-__extension__
 extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
 					  char **__restrict __endptr,
 					  int __base, __locale_t __loc)
      __THROW;
 
-extern double __strtod_l (__const char *__restrict __nptr,
-			  char **__restrict __endptr, __locale_t __loc)
-     __THROW;
 extern double strtod_l (__const char *__restrict __nptr,
 			char **__restrict __endptr, __locale_t __loc)
      __THROW;
 
-extern float __strtof_l (__const char *__restrict __nptr,
-			 char **__restrict __endptr, __locale_t __loc) __THROW;
 extern float strtof_l (__const char *__restrict __nptr,
 		       char **__restrict __endptr, __locale_t __loc) __THROW;
 
-extern long double __strtold_l (__const char *__restrict __nptr,
-				char **__restrict __endptr,
-				__locale_t __loc) __THROW;
 extern long double strtold_l (__const char *__restrict __nptr,
 			      char **__restrict __endptr,
 			      __locale_t __loc) __THROW;
diff --git a/stdlib/strfmon_l.c b/stdlib/strfmon_l.c
index fa7ec59590..b0c82a337e 100644
--- a/stdlib/strfmon_l.c
+++ b/stdlib/strfmon_l.c
@@ -1,5 +1,5 @@
 /* Formatting a monetary value according to the given locale.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -20,3 +20,5 @@
 
 #define USE_IN_EXTENDED_LOCALE_MODEL	1
 #include <strfmon.c>
+
+weak_alias (__strfmon_l, strfmon_l)
diff --git a/string/string.h b/string/string.h
index dd71072e76..4a49e457b8 100644
--- a/string/string.h
+++ b/string/string.h
@@ -108,13 +108,9 @@ extern size_t strxfrm (char *__restrict __dest,
 # include <xlocale.h>
 
 /* Compare the collated forms of S1 and S2 using rules from L.  */
-extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
-     __THROW __attribute_pure__;
 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
      __THROW __attribute_pure__;
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
-extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
-			   __locale_t __l) __THROW;
 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
 			 __locale_t __l) __THROW;
 #endif
@@ -284,14 +280,9 @@ extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
 #ifdef	__USE_GNU
 /* Again versions of a few functions which use the given locale instead
    of the global one.  */
-extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
-			   __locale_t __loc) __THROW __attribute_pure__;
 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
 			 __locale_t __loc) __THROW __attribute_pure__;
 
-extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
-			    size_t __n, __locale_t __loc)
-     __THROW __attribute_pure__;
 extern int strncasecmp_l (__const char *__s1, __const char *__s2,
 			  size_t __n, __locale_t __loc)
      __THROW __attribute_pure__;
diff --git a/sysdeps/generic/strtol_l.c b/sysdeps/generic/strtol_l.c
index 4b61d38134..e4c3140a03 100644
--- a/sysdeps/generic/strtol_l.c
+++ b/sysdeps/generic/strtol_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,3 +26,5 @@ extern long int ____strtol_l_internal (const char *, char **, int, int,
 				       __locale_t);
 
 #include "strtol.c"
+
+weak_alias (__strtol_l, strtol_l)
diff --git a/sysdeps/generic/strtoll_l.c b/sysdeps/generic/strtoll_l.c
index 344e1da4e0..5e7ae7674c 100644
--- a/sysdeps/generic/strtoll_l.c
+++ b/sysdeps/generic/strtoll_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,3 +26,5 @@ extern long long int ____strtoll_l_internal (const char *, char **, int, int,
 					     __locale_t);
 
 #include <strtoll.c>
+
+weak_alias (__strtoll_l, strtoll_l)
diff --git a/sysdeps/generic/strtoul_l.c b/sysdeps/generic/strtoul_l.c
index 2055ba4ad3..a049d2d006 100644
--- a/sysdeps/generic/strtoul_l.c
+++ b/sysdeps/generic/strtoul_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,3 +26,5 @@ extern unsigned long int ____strtoul_l_internal (const char *, char **, int,
 						 int, __locale_t);
 
 #include "strtoul.c"
+
+weak_alias (__strtoul_l, strtoul_l)
diff --git a/sysdeps/generic/strtoull_l.c b/sysdeps/generic/strtoull_l.c
index 6f5499900e..55be504318 100644
--- a/sysdeps/generic/strtoull_l.c
+++ b/sysdeps/generic/strtoull_l.c
@@ -1,5 +1,5 @@
 /* Convert string representing a number to integer value, using given locale.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -26,3 +26,5 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
 						       int, int, __locale_t);
 
 #include <strtoull.c>
+
+weak_alias (__strtoull_l, strtoull_l)
diff --git a/time/strftime.c b/time/strftime.c
index 8ae5985537..986124399b 100644
--- a/time/strftime.c
+++ b/time/strftime.c
@@ -1385,7 +1385,7 @@ my_strftime (s, maxsize, format, tp ut_argument LOCALE_PARAM)
     *p = L_('\0');
   return i;
 }
-#ifdef _LIBC
+#if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
 libc_hidden_def (my_strftime)
 #endif
 
diff --git a/time/time.h b/time/time.h
index dd7ce8dec5..e71ca7afcc 100644
--- a/time/time.h
+++ b/time/time.h
@@ -193,18 +193,11 @@ extern char *strptime (__const char *__restrict __s,
    the provided locale and not the global locale.  */
 # include <xlocale.h>
 
-extern size_t __strftime_l (char *__restrict __s, size_t __maxsize,
-			    __const char *__restrict __format,
-			    __const struct tm *__restrict __tp,
-			    __locale_t __loc) __THROW;
 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
 			  __const char *__restrict __format,
 			  __const struct tm *__restrict __tp,
 			  __locale_t __loc) __THROW;
 
-extern char *__strptime_l (__const char *__restrict __s,
-			   __const char *__restrict __fmt, struct tm *__tp,
-			   __locale_t __loc) __THROW;
 extern char *strptime_l (__const char *__restrict __s,
 			 __const char *__restrict __fmt, struct tm *__tp,
 			 __locale_t __loc) __THROW;
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 777c73a08f..5a1f341041 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -142,13 +142,9 @@ extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
    the provided locale and not the global locale.  */
 # include <xlocale.h>
 
-extern int __wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
-			   __locale_t __loc) __THROW;
 extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
 			 __locale_t __loc) __THROW;
 
-extern int __wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
-			    size_t __n, __locale_t __loc) __THROW;
 extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
 			  size_t __n, __locale_t __loc) __THROW;
 #endif
@@ -168,16 +164,12 @@ extern size_t wcsxfrm (wchar_t *__restrict __s1,
 
 /* Compare S1 and S2, both interpreted as appropriate to the
    LC_COLLATE category of the given locale.  */
-extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
-			__locale_t __loc) __THROW;
 extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
 		      __locale_t __loc) __THROW;
 
 /* Transform S2 into array pointed to by S1 such that if wcscmp is
    applied to two transformed strings the result is the as applying
    `wcscoll' to the original strings.  */
-extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
-			   size_t __n, __locale_t __loc) __THROW;
 extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
 			 size_t __n, __locale_t __loc) __THROW;
 
@@ -416,57 +408,33 @@ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
 
 /* Special versions of the functions above which take the locale to
    use as an additional parameter.  */
-extern long int __wcstol_l (__const wchar_t *__restrict __nptr,
-			    wchar_t **__restrict __endptr, int __base,
-			    __locale_t __loc) __THROW;
 extern long int wcstol_l (__const wchar_t *__restrict __nptr,
 			  wchar_t **__restrict __endptr, int __base,
 			  __locale_t __loc) __THROW;
 
-extern unsigned long int __wcstoul_l (__const wchar_t *__restrict __nptr,
-				      wchar_t **__restrict __endptr,
-				      int __base, __locale_t __loc) __THROW;
 extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
 				    wchar_t **__restrict __endptr,
 				    int __base, __locale_t __loc) __THROW;
 
 __extension__
-extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr,
-				  wchar_t **__restrict __endptr,
-				  int __base, __locale_t __loc) __THROW;
-__extension__
 extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
 				wchar_t **__restrict __endptr,
 				int __base, __locale_t __loc) __THROW;
 
 __extension__
-extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr,
-					    wchar_t **__restrict __endptr,
-					    int __base, __locale_t __loc)
-     __THROW;
-__extension__
 extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
 					  wchar_t **__restrict __endptr,
 					  int __base, __locale_t __loc)
      __THROW;
 
-extern double __wcstod_l (__const wchar_t *__restrict __nptr,
-			  wchar_t **__restrict __endptr, __locale_t __loc)
-     __THROW;
 extern double wcstod_l (__const wchar_t *__restrict __nptr,
 			wchar_t **__restrict __endptr, __locale_t __loc)
      __THROW;
 
-extern float __wcstof_l (__const wchar_t *__restrict __nptr,
-			 wchar_t **__restrict __endptr, __locale_t __loc)
-     __THROW;
 extern float wcstof_l (__const wchar_t *__restrict __nptr,
 		       wchar_t **__restrict __endptr, __locale_t __loc)
      __THROW;
 
-extern long double __wcstold_l (__const wchar_t *__restrict __nptr,
-				wchar_t **__restrict __endptr,
-				__locale_t __loc) __THROW;
 extern long double wcstold_l (__const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr,
 			      __locale_t __loc) __THROW;
@@ -704,10 +672,6 @@ extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
 
 /* Similar to `wcsftime' but takes the information from
    the provided locale and not the global locale.  */
-extern size_t __wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
-			    __const wchar_t *__restrict __format,
-			    __const struct tm *__restrict __tp,
-			    __locale_t __loc) __THROW;
 extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
 			  __const wchar_t *__restrict __format,
 			  __const struct tm *__restrict __tp,
diff --git a/wctype/iswctype_l.c b/wctype/iswctype_l.c
index d3c4a4a7e9..fea94f1a14 100644
--- a/wctype/iswctype_l.c
+++ b/wctype/iswctype_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
 
@@ -34,3 +34,4 @@ __iswctype_l (wint_t wc, wctype_t desc, __locale_t locale)
 
   return wctype_table_lookup ((const char *) desc, wc);
 }
+weak_alias (__iswctype_l, iswctype_l)
diff --git a/wctype/wctype.h b/wctype/wctype.h
index 1b5d76883b..cd7f0b89d2 100644
--- a/wctype/wctype.h
+++ b/wctype/wctype.h
@@ -300,80 +300,65 @@ extern wint_t towctrans (wint_t __wc, wctrans_t __desc) __THROW;
 
 /* Test for any wide character for which `iswalpha' or `iswdigit' is
    true.  */
-extern int __iswalnum_l (wint_t __wc, __locale_t __locale) __THROW;
+extern int iswalnum_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character for which `iswupper' or 'iswlower' is
    true, or any wide character that is one of a locale-specific set of
    wide-characters for which none of `iswcntrl', `iswdigit',
    `iswpunct', or `iswspace' is true.  */
-extern int __iswalpha_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswalpha_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any control wide character.  */
-extern int __iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a decimal-digit
    character.  */
-extern int __iswdigit_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswdigit_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character for which `iswprint' is true and
    `iswspace' is false.  */
-extern int __iswgraph_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswgraph_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a lowercase letter
    or is one of a locale-specific set of wide characters for which
    none of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true.  */
-extern int __iswlower_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswlower_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any printing wide character.  */
-extern int __iswprint_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswprint_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any printing wide character that is one of a
    locale-specific et of wide characters for which neither `iswspace'
    nor `iswalnum' is true.  */
-extern int __iswpunct_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswpunct_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a locale-specific
    set of wide characters for which none of `iswalnum', `iswgraph', or
    `iswpunct' is true.  */
-extern int __iswspace_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswspace_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to an uppercase letter
    or is one of a locale-specific set of wide character for which none
    of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true.  */
-extern int __iswupper_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswupper_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a hexadecimal-digit
    character equivalent to that performed be the functions described
    in the previous subclause.  */
-extern int __iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Test for any wide character that corresponds to a standard blank
    wide character or a locale-specific set of wide characters for
    which `iswalnum' is false.  */
-extern int __iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
 extern int iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Construct value that describes a class of wide characters identified
    by the string argument PROPERTY.  */
-extern wctype_t __wctype_l (__const char *__property, __locale_t __locale)
-     __THROW;
 extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
      __THROW;
 
 /* Determine whether the wide-character WC has the property described by
    DESC.  */
-extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
-     __THROW;
 extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
      __THROW;
 
@@ -383,23 +368,17 @@ extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
  */
 
 /* Converts an uppercase letter to the corresponding lowercase letter.  */
-extern wint_t __towlower_l (wint_t __wc, __locale_t __locale) __THROW;
 extern wint_t towlower_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Converts an lowercase letter to the corresponding uppercase letter.  */
-extern wint_t __towupper_l (wint_t __wc, __locale_t __locale) __THROW;
 extern wint_t towupper_l (wint_t __wc, __locale_t __locale) __THROW;
 
 /* Construct value that describes a mapping between wide characters
    identified by the string argument PROPERTY.  */
-extern wctrans_t __wctrans_l (__const char *__property, __locale_t __locale)
-     __THROW;
 extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
      __THROW;
 
 /* Map the wide character WC using the mapping described by DESC.  */
-extern wint_t __towctrans_l (wint_t __wc, wctrans_t __desc,
-			     __locale_t __locale) __THROW;
 extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
 			   __locale_t __locale) __THROW;