[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r1741 - in /fsf/trunk/libc: ./ argp/ bits/ ctype/ elf/ hurd/ hurd/hurd/ include/ inet/ io/sys/ libio/bits/ locale/programs/ ...



Author: eglibc
Date: Sun Mar 18 00:01:20 2007
New Revision: 1741

Log:
Import glibc-mainline for 2007-03-18

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makeconfig
    fsf/trunk/libc/argp/argp.h
    fsf/trunk/libc/bits/mathinline.h
    fsf/trunk/libc/bits/sigset.h
    fsf/trunk/libc/bits/string.h
    fsf/trunk/libc/config.make.in
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/ctype/ctype.h
    fsf/trunk/libc/elf/dl-dst.h
    fsf/trunk/libc/elf/dl-open.c
    fsf/trunk/libc/hurd/hurd.h
    fsf/trunk/libc/hurd/hurd/fd.h
    fsf/trunk/libc/hurd/hurd/port.h
    fsf/trunk/libc/hurd/hurd/signal.h
    fsf/trunk/libc/hurd/hurd/threadvar.h
    fsf/trunk/libc/hurd/hurd/userlink.h
    fsf/trunk/libc/include/dlfcn.h
    fsf/trunk/libc/inet/getnameinfo.c
    fsf/trunk/libc/io/sys/stat.h
    fsf/trunk/libc/libio/bits/stdio.h
    fsf/trunk/libc/libio/bits/stdio2.h
    fsf/trunk/libc/locale/programs/ld-ctype.c
    fsf/trunk/libc/mach/lock-intern.h
    fsf/trunk/libc/mach/mach/mig_support.h
    fsf/trunk/libc/math/bits/cmathcalls.h
    fsf/trunk/libc/misc/sys/cdefs.h
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lock.h
    fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
    fsf/trunk/libc/posix/bits/unistd.h
    fsf/trunk/libc/socket/bits/socket2.h
    fsf/trunk/libc/stdio-common/vfprintf.c
    fsf/trunk/libc/stdlib/bits/stdlib.h
    fsf/trunk/libc/stdlib/gmp.h
    fsf/trunk/libc/stdlib/stdlib.h
    fsf/trunk/libc/string/argz.h
    fsf/trunk/libc/string/bits/string2.h
    fsf/trunk/libc/string/bits/string3.h
    fsf/trunk/libc/string/strerror_l.c
    fsf/trunk/libc/sysdeps/alpha/fpu/bits/mathinline.h
    fsf/trunk/libc/sysdeps/generic/inttypes.h
    fsf/trunk/libc/sysdeps/generic/machine-lock.h
    fsf/trunk/libc/sysdeps/generic/machine-sp.h
    fsf/trunk/libc/sysdeps/i386/fpu/bits/mathinline.h
    fsf/trunk/libc/sysdeps/i386/i486/bits/string.h
    fsf/trunk/libc/sysdeps/ia64/fpu/bits/mathinline.h
    fsf/trunk/libc/sysdeps/mach/alpha/machine-lock.h
    fsf/trunk/libc/sysdeps/mach/alpha/machine-sp.h
    fsf/trunk/libc/sysdeps/mach/i386/machine-lock.h
    fsf/trunk/libc/sysdeps/mach/powerpc/machine-lock.h
    fsf/trunk/libc/sysdeps/mach/powerpc/machine-sp.h
    fsf/trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h
    fsf/trunk/libc/sysdeps/s390/bits/string.h
    fsf/trunk/libc/sysdeps/s390/fpu/bits/mathinline.h
    fsf/trunk/libc/sysdeps/sparc/fpu/bits/mathinline.h
    fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sigset.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/sysmacros.h
    fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h
    fsf/trunk/libc/time/tst-mktime2.c
    fsf/trunk/libc/wcsmbs/bits/wchar2.h
    fsf/trunk/libc/wcsmbs/wchar.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Mar 18 00:01:20 2007
@@ -1,4 +1,80 @@
+2007-03-16  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* elf/dl-open.c (dl_open_worker): Declare l in 2 different
+	smaller scopes.
+	* elf/dl-dst.h (DL_DST_REQ_STATIC): Add l as macro argument.
+	(DL_DST_REQUIRED): Adjust user.
+
+	* include/dlfcn.h (struct link_map): New forward decl.
+
+	* inet/getnameinfo.c: Include stddef.h.
+	(getnameinfo): Use offsetof.
+
+	* time/tst-mktime2.c (do_test): Don't rely on signed wrap.
+
+	* stdio-common/vfprintf.c (_itoa): Undef before redefining.
+
+	* string/strerror_l.c: Include stdlib.h.
+
+	* configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
+	* config.make.in (gnu89-inline-CFLAGS): New variable.
+	* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
+	-std=gnu99.
+	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define.
+	* argp/argp.h: Use it.
+	* bits/mathinline.h: Likewise.
+	* bits/sigset.h: Likewise.
+	* bits/string.h: Likewise.
+	* ctype/ctype.h: Likewise.
+	* hurd/hurd.h: Likewise.
+	* hurd/hurd/fd.h: Likewise.
+	* hurd/hurd/port.h: Likewise.
+	* hurd/hurd/signal.h: Likewise.
+	* hurd/hurd/threadvar.h: Likewise.
+	* hurd/hurd/userlink.h: Likewise.
+	* io/sys/stat.h: Likewise.
+	* libio/bits/stdio.h: Likewise.
+	* libio/bits/stdio2.h: Likewise.
+	* mach/lock-intern.h: Likewise.
+	* mach/mach/mig_support.h: Likewise.
+	* math/bits/cmathcalls.h: Likewise.
+	* posix/bits/unistd.h: Likewise.
+	* socket/bits/socket2.h: Likewise.
+	* stdlib/bits/stdlib.h: Likewise.
+	* stdlib/stdlib.h: Likewise.
+	* string/argz.h: Likewise.
+	* string/bits/string2.h: Likewise.
+	* string/bits/string3.h: Likewise.
+	* sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/generic/inttypes.h: Likewise.
+	* sysdeps/generic/machine-lock.h: Likewise.
+	* sysdeps/generic/machine-sp.h: Likewise.
+	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/i386/i486/bits/string.h: Likewise.
+	* sysdeps/ia64/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/mach/alpha/machine-lock.h: Likewise.
+	* sysdeps/mach/alpha/machine-sp.h: Likewise.
+	* sysdeps/mach/i386/machine-lock.h: Likewise.
+	* sysdeps/mach/powerpc/machine-lock.h: Likewise.
+	* sysdeps/mach/powerpc/machine-sp.h: Likewise.
+	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/s390/bits/string.h: Likewise.
+	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
+	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
+	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
+	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
+	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
+	* wcsmbs/bits/wchar2.h: Likewise.
+	* wcsmbs/wchar.h: Likewise.
+	* stdlib/gmp.h: Likewise.  Include <features.h> to get
+	__extern_inline definition.
+
 2007-03-15  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is
+	NULL.
 
 	[BZ #3919]
 	* math/libm-test.inc (log_test): Test -Inf and NaN.

Modified: fsf/trunk/libc/Makeconfig
==============================================================================
--- fsf/trunk/libc/Makeconfig (original)
+++ fsf/trunk/libc/Makeconfig Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2003,2004,2005,2006 Free Software Foundation, Inc.
+# Copyright (C) 1991-2003,2004,2005,2006,2007 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
@@ -672,7 +672,7 @@
 	   $(foreach lib,$(libof-$(basename $(@F))) \
 		         $(libof-$(<F)) $(libof-$(@F)),$(CPPFLAGS-$(lib))) \
 	   $(CPPFLAGS-$(<F)) $(CPPFLAGS-$(@F)) $(CPPFLAGS-$(basename $(@F)))
-override CFLAGS	= -std=gnu99 \
+override CFLAGS	= -std=gnu99 $(gnu89-inline-CFLAGS) \
 		  $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
 		  $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
 		  $(CFLAGS-$(@F))

Modified: fsf/trunk/libc/argp/argp.h
==============================================================================
--- fsf/trunk/libc/argp/argp.h (original)
+++ fsf/trunk/libc/argp/argp.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* Hierarchial argument parsing, layered over getopt.
-   Copyright (C) 1995-1999,2003,2004,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@xxxxxxxxxxxxxx>.
 
@@ -558,7 +559,7 @@
 # endif
 
 # ifndef ARGP_EI
-#  define ARGP_EI extern __inline__
+#  define ARGP_EI __extern_inline
 # endif
 
 ARGP_EI void

Modified: fsf/trunk/libc/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/bits/mathinline.h (original)
+++ fsf/trunk/libc/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,6 +1,6 @@
 /* This file should provide inline versions of math functions.
 
-   Surround GCC-specific parts with #ifdef __GNUC__, and use `extern __inline'.
+   Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
 
    This file should define __MATH_INLINES if functions are actually defined as
    inlines.  */

Modified: fsf/trunk/libc/bits/sigset.h
==============================================================================
--- fsf/trunk/libc/bits/sigset.h (original)
+++ fsf/trunk/libc/bits/sigset.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* __sig_atomic_t, __sigset_t, and related definitions.  Generic/BSD version.
-   Copyright (C) 1991, 1992, 1994, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007
+   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
@@ -38,7 +39,7 @@
 #define _SIGSET_H_fns 1
 
 #ifndef _EXTERN_INLINE
-# define _EXTERN_INLINE extern __inline
+# define _EXTERN_INLINE __extern_inline
 #endif
 
 /* Return a mask that includes SIG only.  The cast to `sigset_t' avoids

Modified: fsf/trunk/libc/bits/string.h
==============================================================================
--- fsf/trunk/libc/bits/string.h (original)
+++ fsf/trunk/libc/bits/string.h Sun Mar 18 00:01:20 2007
@@ -1,6 +1,6 @@
 /* This file should provide inline versions of string functions.
 
-   Surround GCC-specific parts with #ifdef __GNUC__, and use `extern __inline'.
+   Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inline'.
 
    This file should define __STRING_INLINES if functions are actually defined
    as inlines.  */

Modified: fsf/trunk/libc/config.make.in
==============================================================================
--- fsf/trunk/libc/config.make.in (original)
+++ fsf/trunk/libc/config.make.in Sun Mar 18 00:01:20 2007
@@ -53,6 +53,7 @@
 enable-check-abi = @enable_check_abi@
 have-forced-unwind = @libc_cv_forced_unwind@
 have-fpie = @libc_cv_fpie@
+gnu89-inline-CFLAGS = @libc_cv_gnu89_inline@
 have-ssp = @libc_cv_ssp@
 have-selinux = @have_selinux@
 have-libaudit = @have_libaudit@

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Sun Mar 18 00:01:20 2007
@@ -313,7 +313,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi bindnow force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_subdirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_cc_with_libunwind libc_cv_Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_combreloc libc_cv_z_execstack libc_cv_fpie libc_cv_hashstyle fno_unit_at_a_time libc_cv_ssp libc_cv_have_initfini no_whole_archive exceptions LIBGD have_libaudit have_libcap have_selinux EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_check_abi oldest_abi bindnow force_install all_warnings build build_cpu build_vendor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_subdirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUILD_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RANLIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSINCLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_ksh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_cc_with_libunwind libc_cv_Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_combreloc libc_cv_z_execstack libc_cv_fpie libc_cv_hashstyle fno_unit_at_a_time libc_cv_ssp libc_cv_gnu89_inline libc_cv_have_initfini no_whole_archive exceptions LIBGD have_libaudit have_libcap have_selinux EGREP sizeof_long_double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_version old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -5957,6 +5957,42 @@
 fi
 echo "$as_me:$LINENO: result: $libc_cv_ssp" >&5
 echo "${ECHO_T}$libc_cv_ssp" >&6
+
+
+echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5
+echo $ECHO_N "checking for -fgnu89-inline... $ECHO_C" >&6
+if test "${libc_cv_gnu89_inline+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat > conftest.c <<EOF
+int foo;
+#ifdef __GNUC_GNU_INLINE__
+main () { return 0;}
+#else
+#error
+#endif
+EOF
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -std=gnu99 -fgnu89-inline
+			    -o conftest conftest.c 1>&5'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }
+then
+  libc_cv_gnu89_inline=yes
+else
+  libc_cv_gnu89_inline=no
+fi
+rm -f conftest*
+fi
+echo "$as_me:$LINENO: result: $libc_cv_gnu89_inline" >&5
+echo "${ECHO_T}$libc_cv_gnu89_inline" >&6
+if test $libc_cv_gnu89_inline = yes; then
+  libc_cv_gnu89_inline=-fgnu89-inline
+else
+  libc_cv_gnu89_inline=
+fi
 
 
 if test $elf != yes; then
@@ -8517,6 +8553,7 @@
 s,@libc_cv_hashstyle@,$libc_cv_hashstyle,;t t
 s,@fno_unit_at_a_time@,$fno_unit_at_a_time,;t t
 s,@libc_cv_ssp@,$libc_cv_ssp,;t t
+s,@libc_cv_gnu89_inline@,$libc_cv_gnu89_inline,;t t
 s,@libc_cv_have_initfini@,$libc_cv_have_initfini,;t t
 s,@no_whole_archive@,$no_whole_archive,;t t
 s,@exceptions@,$exceptions,;t t

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Sun Mar 18 00:01:20 2007
@@ -1641,6 +1641,30 @@
 rm -f conftest*])
 AC_SUBST(libc_cv_ssp)
 
+AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl
+cat > conftest.c <<EOF
+int foo;
+#ifdef __GNUC_GNU_INLINE__
+main () { return 0;}
+#else
+#error
+#endif
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -std=gnu99 -fgnu89-inline
+			    -o conftest conftest.c 1>&AS_MESSAGE_LOG_FD])
+then
+  libc_cv_gnu89_inline=yes
+else
+  libc_cv_gnu89_inline=no
+fi
+rm -f conftest*])
+if test $libc_cv_gnu89_inline = yes; then
+  libc_cv_gnu89_inline=-fgnu89-inline
+else
+  libc_cv_gnu89_inline=
+fi
+AC_SUBST(libc_cv_gnu89_inline)
+
 if test $elf != yes; then
   AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini,
 		 [AC_TRY_COMPILE(, [asm (".section .init");

Modified: fsf/trunk/libc/ctype/ctype.h
==============================================================================
--- fsf/trunk/libc/ctype/ctype.h (original)
+++ fsf/trunk/libc/ctype/ctype.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007
    	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -187,13 +187,13 @@
 # endif
 
 # ifdef __USE_EXTERN_INLINES
-extern __inline int
+__extern_inline int
 __NTH (tolower (int __c))
 {
   return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
 }
 
-extern __inline int
+__extern_inline int
 __NTH (toupper (int __c))
 {
   return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;

Modified: fsf/trunk/libc/elf/dl-dst.h
==============================================================================
--- fsf/trunk/libc/elf/dl-dst.h (original)
+++ fsf/trunk/libc/elf/dl-dst.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* Handling of dynamic sring tokens.
-   Copyright (C) 1999,2001,2002,2003,2004,2006 Free Software Foundation, Inc.
+   Copyright (C) 1999,2001,2002,2003,2004,2006,2007
+   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
@@ -50,7 +51,7 @@
 									      \
 	   First get the origin string if it is not available yet.	      \
 	   This can only happen for the map of the executable.  */	      \
-	DL_DST_REQ_STATIC						      \
+	DL_DST_REQ_STATIC (l)						      \
 	if ((l)->l_origin == NULL)					      \
 	  {								      \
 	    assert ((l)->l_name[0] == '\0');				      \
@@ -68,9 +69,9 @@
     __len; })
 
 #ifdef SHARED
-# define DL_DST_REQ_STATIC /* nothing */
+# define DL_DST_REQ_STATIC(l) /* nothing */
 #else
-# define DL_DST_REQ_STATIC \
+# define DL_DST_REQ_STATIC(l) \
   if ((l) == NULL)							      \
     {									      \
       const char *origin = _dl_get_origin ();				      \

Modified: fsf/trunk/libc/elf/dl-open.c
==============================================================================
--- fsf/trunk/libc/elf/dl-open.c (original)
+++ fsf/trunk/libc/elf/dl-open.c Sun Mar 18 00:01:20 2007
@@ -161,7 +161,7 @@
   struct dl_open_args *args = a;
   const char *file = args->file;
   int mode = args->mode;
-  struct link_map *new, *l;
+  struct link_map *new;
   int lazy;
   unsigned int i;
   bool any_tls = false;
@@ -186,6 +186,7 @@
 	 By default we assume this is the main application.  */
       call_map = GL(dl_ns)[LM_ID_BASE]._ns_loaded;
 
+      struct link_map *l;
       for (Lmid_t ns = 0; ns < DL_NNS; ++ns)
 	for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
 	  if (caller_dlopen >= (const void *) l->l_map_start
@@ -325,7 +326,7 @@
   /* Relocate the objects loaded.  We do this in reverse order so that copy
      relocs of earlier objects overwrite the data written by later objects.  */
 
-  l = new;
+  struct link_map *l = new;
   while (l->l_next)
     l = l->l_next;
   while (1)

Modified: fsf/trunk/libc/hurd/hurd.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd.h (original)
+++ fsf/trunk/libc/hurd/hurd.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,5 @@
-/* Copyright (C) 1993,94,95,96,97,98,99,2001,02 Free Software Foundation, Inc.
+/* Copyright (C) 1993,94,95,96,97,98,99,2001,2002,2007
+   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,7 +45,7 @@
 #include <errno.h>
 
 #ifndef _HURD_H_EXTERN_INLINE
-#define _HURD_H_EXTERN_INLINE extern __inline
+#define _HURD_H_EXTERN_INLINE __extern_inline
 #endif
 
 _HURD_H_EXTERN_INLINE int

Modified: fsf/trunk/libc/hurd/hurd/fd.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/fd.h (original)
+++ fsf/trunk/libc/hurd/hurd/fd.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* File descriptors.
-   Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006
+   Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006,2007
    	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -52,7 +52,7 @@
 #include <hurd/signal.h>
 
 #ifndef _HURD_FD_H_EXTERN_INLINE
-#define _HURD_FD_H_EXTERN_INLINE extern __inline
+#define _HURD_FD_H_EXTERN_INLINE __extern_inline
 #endif
 
 /* Returns the descriptor cell for FD.  If FD is invalid or unused, return

Modified: fsf/trunk/libc/hurd/hurd/port.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/port.h (original)
+++ fsf/trunk/libc/hurd/hurd/port.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* Lightweight user references for ports.
-   Copyright (C) 1993, 1994, 1995, 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995, 1997, 1999, 2007
+   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
@@ -55,7 +56,7 @@
 
 
 #ifndef _HURD_PORT_H_EXTERN_INLINE
-#define _HURD_PORT_H_EXTERN_INLINE extern __inline
+#define _HURD_PORT_H_EXTERN_INLINE __extern_inline
 #endif
 
 

Modified: fsf/trunk/libc/hurd/hurd/signal.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/signal.h (original)
+++ fsf/trunk/libc/hurd/hurd/signal.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Implementing POSIX.1 signals under the Hurd.
-   Copyright (C) 1993,94,95,96,98,99,2002 Free Software Foundation, Inc.
+   Copyright (C) 1993,94,95,96,98,99,2002,2007 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
@@ -126,7 +126,7 @@
      __attribute__ ((__const__));
 
 #ifndef _HURD_SIGNAL_H_EXTERN_INLINE
-#define _HURD_SIGNAL_H_EXTERN_INLINE extern __inline
+#define _HURD_SIGNAL_H_EXTERN_INLINE __extern_inline
 #endif
 
 _HURD_SIGNAL_H_EXTERN_INLINE struct hurd_sigstate *

Modified: fsf/trunk/libc/hurd/hurd/threadvar.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/threadvar.h (original)
+++ fsf/trunk/libc/hurd/hurd/threadvar.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Internal per-thread variables for the Hurd.
-   Copyright (C) 1994,95,97,98,99,2001,02 Free Software Foundation, Inc.
+   Copyright (C) 1994,95,97,98,99,2001,02,06,07 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
@@ -74,7 +74,7 @@
 
 
 #ifndef _HURD_THREADVAR_H_EXTERN_INLINE
-#define _HURD_THREADVAR_H_EXTERN_INLINE extern __inline
+#define _HURD_THREADVAR_H_EXTERN_INLINE __extern_inline
 #endif
 
 /* Return the location of the value for the per-thread variable with index

Modified: fsf/trunk/libc/hurd/hurd/userlink.h
==============================================================================
--- fsf/trunk/libc/hurd/hurd/userlink.h (original)
+++ fsf/trunk/libc/hurd/hurd/userlink.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Support for chains recording users of a resource; `struct hurd_userlink'.
-   Copyright (C) 1994, 1995, 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1995, 1997, 1999, 2007 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
@@ -71,7 +71,7 @@
 
 
 #ifndef _HURD_USERLINK_H_EXTERN_INLINE
-#define _HURD_USERLINK_H_EXTERN_INLINE extern __inline
+#define _HURD_USERLINK_H_EXTERN_INLINE __extern_inline
 #endif
 
 

Modified: fsf/trunk/libc/include/dlfcn.h
==============================================================================
--- fsf/trunk/libc/include/dlfcn.h (original)
+++ fsf/trunk/libc/include/dlfcn.h Sun Mar 18 00:01:20 2007
@@ -44,6 +44,8 @@
      internal_function;
 libc_hidden_proto (_dl_addr)
 #endif
+
+struct link_map;
 
 /* Close an object previously opened by _dl_open.  */
 extern void _dl_close (void *map) attribute_hidden;

Modified: fsf/trunk/libc/inet/getnameinfo.c
==============================================================================
--- fsf/trunk/libc/inet/getnameinfo.c (original)
+++ fsf/trunk/libc/inet/getnameinfo.c Sun Mar 18 00:01:20 2007
@@ -38,6 +38,7 @@
 #include <alloca.h>
 #include <errno.h>
 #include <netdb.h>
+#include <stddef.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -180,7 +181,7 @@
   switch (sa->sa_family)
     {
     case AF_LOCAL:
-      if (addrlen < (socklen_t) (((struct sockaddr_un *) NULL)->sun_path))
+      if (addrlen < (socklen_t) offsetof (struct sockaddr_un, sun_path))
 	return EAI_FAMILY;
       break;
     case AF_INET:

Modified: fsf/trunk/libc/io/sys/stat.h
==============================================================================
--- fsf/trunk/libc/io/sys/stat.h (original)
+++ fsf/trunk/libc/io/sys/stat.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,1992,1995-2004,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007
+   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
@@ -430,28 +431,28 @@
 #if defined __GNUC__ && __GNUC__ >= 2
 /* Inlined versions of the real stat and mknod functions.  */
 
-extern __inline__ int
+__extern_inline int
 __NTH (stat (__const char *__path, struct stat *__statbuf))
 {
   return __xstat (_STAT_VER, __path, __statbuf);
 }
 
 # if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern __inline__ int
+__extern_inline int
 __NTH (lstat (__const char *__path, struct stat *__statbuf))
 {
   return __lxstat (_STAT_VER, __path, __statbuf);
 }
 # endif
 
-extern __inline__ int
+__extern_inline int
 __NTH (fstat (int __fd, struct stat *__statbuf))
 {
   return __fxstat (_STAT_VER, __fd, __statbuf);
 }
 
 # ifdef __USE_ATFILE
-extern __inline__ int
+__extern_inline int
 __NTH (fstatat (int __fd, __const char *__filename, struct stat *__statbuf,
 		int __flag))
 {
@@ -460,7 +461,7 @@
 # endif
 
 # if defined __USE_MISC || defined __USE_BSD
-extern __inline__ int
+__extern_inline int
 __NTH (mknod (__const char *__path, __mode_t __mode, __dev_t __dev))
 {
   return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
@@ -468,7 +469,7 @@
 # endif
 
 # ifdef __USE_ATFILE
-extern __inline__ int
+__extern_inline int
 __NTH (mknodat (int __fd, __const char *__path, __mode_t __mode,
 		__dev_t __dev))
 {
@@ -479,28 +480,28 @@
 # if defined __USE_LARGEFILE64 \
   && (! defined __USE_FILE_OFFSET64 \
       || (defined __REDIRECT_NTH && defined __OPTIMIZE__))
-extern __inline__ int
+__extern_inline int
 __NTH (stat64 (__const char *__path, struct stat64 *__statbuf))
 {
   return __xstat64 (_STAT_VER, __path, __statbuf);
 }
 
 #  if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern __inline__ int
+__extern_inline int
 __NTH (lstat64 (__const char *__path, struct stat64 *__statbuf))
 {
   return __lxstat64 (_STAT_VER, __path, __statbuf);
 }
 #  endif
 
-extern __inline__ int
+__extern_inline int
 __NTH (fstat64 (int __fd, struct stat64 *__statbuf))
 {
   return __fxstat64 (_STAT_VER, __fd, __statbuf);
 }
 
 #  ifdef __USE_GNU
-extern __inline__ int
+__extern_inline int
 __NTH (fstatat64 (int __fd, __const char *__filename, struct stat64 *__statbuf,
 		  int __flag))
 {

Modified: fsf/trunk/libc/libio/bits/stdio.h
==============================================================================
--- fsf/trunk/libc/libio/bits/stdio.h (original)
+++ fsf/trunk/libc/libio/bits/stdio.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Optimizing macros and inline functions for stdio functions.
-   Copyright (C) 1998, 2000, 2001, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2001, 2004, 2007 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
@@ -24,7 +24,7 @@
 #ifdef __cplusplus
 # define __STDIO_INLINE inline
 #else
-# define __STDIO_INLINE extern __inline
+# define __STDIO_INLINE __extern_inline
 #endif
 
 

Modified: fsf/trunk/libc/libio/bits/stdio2.h
==============================================================================
--- fsf/trunk/libc/libio/bits/stdio2.h (original)
+++ fsf/trunk/libc/libio/bits/stdio2.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Checking macros for stdio functions.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2007 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
@@ -75,7 +75,7 @@
 extern char *__gets_chk (char *__str, size_t) __wur;
 extern char *__REDIRECT (__gets_alias, (char *__str), gets) __wur;
 
-extern __always_inline __wur char *
+__extern_always_inline __wur char *
 gets (char *__str)
 {
   if (__bos (__str) != (size_t) -1)
@@ -89,7 +89,7 @@
 			 (char *__restrict __s, int __n,
 			  FILE *__restrict __stream), fgets) __wur;
 
-extern __always_inline __wur char *
+__extern_always_inline __wur char *
 fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
 {
   if (__bos (__s) != (size_t) -1
@@ -105,7 +105,7 @@
 			 (char *__restrict __s, int __n,
 			  FILE *__restrict __stream), fgets_unlocked) __wur;
 
-extern __always_inline __wur char *
+__extern_always_inline __wur char *
 fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
 {
   if (__bos (__s) != (size_t) -1

Modified: fsf/trunk/libc/locale/programs/ld-ctype.c
==============================================================================
--- fsf/trunk/libc/locale/programs/ld-ctype.c (original)
+++ fsf/trunk/libc/locale/programs/ld-ctype.c Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1995.
 
@@ -1866,6 +1866,9 @@
   assert (locale != NULL);
   ctype = locale->categories[LC_CTYPE].ctype;
 
+  if (ctype == NULL)
+    return NULL;
+
   if (ctype->translit != NULL)
     result = find_translit2 (ctype, charmap, wch);
 

Modified: fsf/trunk/libc/mach/lock-intern.h
==============================================================================
--- fsf/trunk/libc/mach/lock-intern.h (original)
+++ fsf/trunk/libc/mach/lock-intern.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1996, 2007 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
@@ -22,7 +22,7 @@
 #include <machine-lock.h>
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 

Modified: fsf/trunk/libc/mach/mach/mig_support.h
==============================================================================
--- fsf/trunk/libc/mach/mach/mig_support.h (original)
+++ fsf/trunk/libc/mach/mach/mig_support.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,94,97,99,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1993,94,97,99,2001,2007 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
@@ -67,12 +67,12 @@
 /* Idiocy support function.  */
 extern vm_size_t mig_strncpy (char *__dst, const char *__src, vm_size_t __len);
 extern vm_size_t __mig_strncpy (char *__dst, const char *__src, vm_size_t);
-extern __inline vm_size_t
+__extern_inline vm_size_t
 __mig_strncpy (char *__dst, const char *__src, vm_size_t __len)
 {
   return __stpncpy (__dst, __src, __len) - __dst;
 }
-extern __inline vm_size_t
+__extern_inline vm_size_t
 mig_strncpy (char *__dst, const char *__src, vm_size_t __len)
 {
   return __mig_strncpy (__dst, __src, __len);

Modified: fsf/trunk/libc/math/bits/cmathcalls.h
==============================================================================
--- fsf/trunk/libc/math/bits/cmathcalls.h (original)
+++ fsf/trunk/libc/math/bits/cmathcalls.h Sun Mar 18 00:01:20 2007
@@ -1,6 +1,6 @@
 /* Prototype declarations for complex math functions;
    helper file for <complex.h>.
-   Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2001, 2007 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
@@ -135,21 +135,21 @@
 #if defined __GNUC__ && !__GNUC_PREREQ (2, 97) && defined __OPTIMIZE__
 
 /* Imaginary part of Z.  */
-extern __inline _Mdouble_
+__extern_inline _Mdouble_
 __MATH_PRECNAME(cimag) (_Mdouble_complex_ __z) __THROW
 {
   return __imag__ __z;
 }
 
 /* Real part of Z.  */
-extern __inline _Mdouble_
+__extern_inline _Mdouble_
 __MATH_PRECNAME(creal) (_Mdouble_complex_ __z) __THROW
 {
   return __real__ __z;
 }
 
 /* Complex conjugate of Z.  */
-extern __inline _Mdouble_complex_
+__extern_inline _Mdouble_complex_
 __MATH_PRECNAME(conj) (_Mdouble_complex_ __z) __THROW
 {
   return __extension__ ~__z;

Modified: fsf/trunk/libc/misc/sys/cdefs.h
==============================================================================
--- fsf/trunk/libc/misc/sys/cdefs.h (original)
+++ fsf/trunk/libc/misc/sys/cdefs.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2001, 2002, 2004, 2005, 2006
+/* Copyright (C) 1992-2001, 2002, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -279,6 +279,17 @@
 # define __always_inline __inline
 #endif
 
+/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  */
+#ifdef __GNUC_STDC_INLINE__
+# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+# define __extern_always_inline \
+  extern __always_inline __attribute__ ((__gnu_inline__))
+#else
+# define __extern_inline extern __inline
+# define __extern_always_inline extern __always_inline
+#endif
+
 /* It is possible to compile containing GCC extensions even if GCC is
    run in pedantic mode if the uses are carefully marked using the
    `__extension__' keyword.  But this is not generally available before

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sun Mar 18 00:01:20 2007
@@ -1,3 +1,9 @@
+2007-03-16  Jakub Jelinek  <jakub@xxxxxxxxxx>
+
+	* sysdeps/pthread/bits/libc-lock.h: Use __extern_inline and
+	__extern_always_inline where appropriate.
+	* sysdeps/pthread/pthread.h: Likewise.
+
 2007-03-13  Richard Henderson  <rth@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use two

Modified: fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/bits/libc-lock.h Sun Mar 18 00:01:20 2007
@@ -414,7 +414,7 @@
 
 
 /* Normal cleanup handling, based on C cleanup attribute.  */
-extern __inline void
+__extern_inline void
 __libc_cleanup_routine (struct __pthread_cleanup_frame *f)
 {
   if (f->__do_it)

Modified: fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,5 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
+   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
@@ -572,7 +573,7 @@
    function the compiler is free to decide inlining the change when
    needed or fall back on the copy which must exist somewhere
    else.  */
-extern __inline void
+__extern_inline void
 __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame)
 {
   if (__frame->__do_it)
@@ -1103,7 +1104,7 @@
 
 #ifdef __USE_EXTERN_INLINES
 /* Optimizations.  */
-extern __inline int
+__extern_inline int
 __NTH (pthread_equal (pthread_t __thread1, pthread_t __thread2))
 {
   return __thread1 == __thread2;

Modified: fsf/trunk/libc/posix/bits/unistd.h
==============================================================================
--- fsf/trunk/libc/posix/bits/unistd.h (original)
+++ fsf/trunk/libc/posix/bits/unistd.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Checking macros for unistd functions.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007 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
@@ -26,7 +26,7 @@
 extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf,
 					  size_t __nbytes), read) __wur;
 
-extern __always_inline __wur ssize_t
+__extern_always_inline __wur ssize_t
 read (int __fd, void *__buf, size_t __nbytes)
 {
   if (__bos0 (__buf) != (size_t) -1
@@ -48,7 +48,7 @@
 			    __off64_t __offset), pread64) __wur;
 
 # ifndef __USE_FILE_OFFSET64
-extern __always_inline __wur ssize_t
+__extern_always_inline __wur ssize_t
 pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
 {
   if (__bos0 (__buf) != (size_t) -1
@@ -57,7 +57,7 @@
   return __pread_alias (__fd, __buf, __nbytes, __offset);
 }
 # else
-extern __always_inline __wur ssize_t
+__extern_always_inline __wur ssize_t
 pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
 {
   if (__bos0 (__buf) != (size_t) -1
@@ -68,7 +68,7 @@
 # endif
 
 # ifdef __USE_LARGEFILE64
-extern __always_inline __wur ssize_t
+__extern_always_inline __wur ssize_t
 pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
 {
   if (__bos0 (__buf) != (size_t) -1
@@ -89,7 +89,7 @@
 				char *__restrict __buf, size_t __len), readlink)
      __nonnull ((1, 2)) __wur;
 
-extern __always_inline __nonnull ((1, 2)) __wur ssize_t
+__extern_always_inline __nonnull ((1, 2)) __wur ssize_t
 __NTH (readlink (__const char *__restrict __path, char *__restrict __buf,
 		 size_t __len))
 {
@@ -111,7 +111,7 @@
 			       readlinkat)
      __nonnull ((2, 3)) __wur;
 
-extern __always_inline __nonnull ((2, 3)) __wur ssize_t
+__extern_always_inline __nonnull ((2, 3)) __wur ssize_t
 __NTH (readlinkat (int __fd, __const char *__restrict __path,
 		   char *__restrict __buf, size_t __len))
 {
@@ -127,7 +127,7 @@
 extern char *__REDIRECT_NTH (__getcwd_alias,
 			     (char *__buf, size_t __size), getcwd) __wur;
 
-extern __always_inline __wur char *
+__extern_always_inline __wur char *
 __NTH (getcwd (char *__buf, size_t __size))
 {
   if (__bos (__buf) != (size_t) -1
@@ -142,7 +142,7 @@
 extern char *__REDIRECT_NTH (__getwd_alias, (char *__buf), getwd)
      __nonnull ((1)) __wur;
 
-extern __always_inline __nonnull ((1)) __attribute_deprecated__ __wur char *
+__extern_always_inline __nonnull ((1)) __attribute_deprecated__ __wur char *
 __NTH (getwd (char *__buf))
 {
   if (__bos (__buf) != (size_t) -1)
@@ -156,7 +156,7 @@
 extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf,
 						size_t __len), confstr);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (confstr (int __name, char *__buf, size_t __len))
 {
   if (__bos (__buf) != (size_t) -1
@@ -171,7 +171,7 @@
 extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]),
 			   getgroups) __wur;
 
-extern __always_inline int
+__extern_always_inline int
 __NTH (getgroups (int __size, __gid_t __list[]))
 {
   if (__bos (__list) != (size_t) -1
@@ -188,7 +188,7 @@
 					       size_t __buflen), ttyname_r)
      __nonnull ((2));
 
-extern __always_inline int
+__extern_always_inline int
 __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen))
 {
   if (__bos (__buf) != (size_t) -1
@@ -204,7 +204,7 @@
 extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen),
 		       getlogin_r) __nonnull ((1));
 
-extern __always_inline int
+__extern_always_inline int
 getlogin_r (char *__buf, size_t __buflen)
 {
   if (__bos (__buf) != (size_t) -1
@@ -221,7 +221,7 @@
 extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen),
 			   gethostname) __nonnull ((1));
 
-extern __always_inline int
+__extern_always_inline int
 __NTH (gethostname (char *__buf, size_t __buflen))
 {
   if (__bos (__buf) != (size_t) -1
@@ -239,7 +239,7 @@
 						   size_t __buflen),
 			   getdomainname) __nonnull ((1)) __wur;
 
-extern __always_inline int
+__extern_always_inline int
 __NTH (getdomainname (char *__buf, size_t __buflen))
 {
   if (__bos (__buf) != (size_t) -1

Modified: fsf/trunk/libc/socket/bits/socket2.h
==============================================================================
--- fsf/trunk/libc/socket/bits/socket2.h (original)
+++ fsf/trunk/libc/socket/bits/socket2.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Checking macros for socket functions.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007 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
@@ -26,7 +26,7 @@
 extern ssize_t __REDIRECT (__recv_alias, (int __fd, void *__buf, size_t __n,
 					  int __flags), recv);
 
-extern __always_inline ssize_t
+__extern_always_inline ssize_t
 recv (int __fd, void *__buf, size_t __n, int __flags)
 {
   if (__bos0 (__buf) != (size_t) -1
@@ -44,7 +44,7 @@
 			    int __flags, __SOCKADDR_ARG __addr,
 			    socklen_t *__restrict __addr_len), recvfrom);
 
-extern __always_inline ssize_t
+__extern_always_inline ssize_t
 recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags,
 	  __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len)
 {

Modified: fsf/trunk/libc/stdio-common/vfprintf.c
==============================================================================
--- fsf/trunk/libc/stdio-common/vfprintf.c (original)
+++ fsf/trunk/libc/stdio-common/vfprintf.c Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006
+/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -99,6 +99,7 @@
 # define PUTC(C, F)	_IO_putwc_unlocked (C, F)
 # define ORIENT		if (_IO_fwide (s, 1) != 1) return -1
 
+# undef _itoa
 # define _itoa(Val, Buf, Base, Case) _itowa (Val, Buf, Base, Case)
 # define _itoa_word(Val, Buf, Base, Case) _itowa_word (Val, Buf, Base, Case)
 # undef EOF

Modified: fsf/trunk/libc/stdlib/bits/stdlib.h
==============================================================================
--- fsf/trunk/libc/stdlib/bits/stdlib.h (original)
+++ fsf/trunk/libc/stdlib/bits/stdlib.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Checking macros for stdlib functions.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007 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
@@ -28,7 +28,7 @@
 			     (__const char *__restrict __name,
 			      char *__restrict __resolved), realpath) __wur;
 
-extern __always_inline __wur char *
+__extern_always_inline __wur char *
 __NTH (realpath (__const char *__restrict __name, char *__restrict __resolved))
 {
   if (__bos (__resolved) != (size_t) -1)
@@ -44,7 +44,7 @@
 					       size_t __buflen), ptsname_r)
      __nonnull ((2));
 
-extern __always_inline int
+__extern_always_inline int
 __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen))
 {
   if (__bos (__buf) != (size_t) -1
@@ -59,7 +59,7 @@
 extern int __REDIRECT_NTH (__wctomb_alias, (char *__s, wchar_t __wchar),
 			   wctomb) __wur;
 
-extern __always_inline __wur int
+__extern_always_inline __wur int
 __NTH (wctomb (char *__s, wchar_t __wchar))
 {
   /* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
@@ -83,7 +83,7 @@
 			       __const char *__restrict __src,
 			       size_t __len), mbstowcs);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src,
 		 size_t __len))
 {
@@ -104,7 +104,7 @@
 			       __const wchar_t *__restrict __src,
 			       size_t __len), wcstombs);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src,
 		 size_t __len))
 {

Modified: fsf/trunk/libc/stdlib/gmp.h
==============================================================================
--- fsf/trunk/libc/stdlib/gmp.h (original)
+++ fsf/trunk/libc/stdlib/gmp.h Sun Mar 18 00:01:20 2007
@@ -1,6 +1,6 @@
 /* gmp.h -- Definitions for GNU multiple precision functions.
 
-Copyright (C) 1991, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+Copyright (C) 1991, 1993, 1994, 1995, 1996, 2007 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -20,6 +20,8 @@
 MA 02111-1307, USA. */
 
 #ifndef __GMP_H__
+
+#include <features.h>
 
 #ifndef __GNU_MP__
 #define __GNU_MP__ 2
@@ -41,7 +43,7 @@
 
 #ifndef _EXTERN_INLINE
 #ifdef __GNUC__
-#define _EXTERN_INLINE extern __inline__
+#define _EXTERN_INLINE __extern_inline
 #else
 #define _EXTERN_INLINE static
 #endif

Modified: fsf/trunk/libc/stdlib/stdlib.h
==============================================================================
--- fsf/trunk/libc/stdlib/stdlib.h (original)
+++ fsf/trunk/libc/stdlib/stdlib.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2003,2004,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2003,2004,2005,2006,2007 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
@@ -324,18 +324,18 @@
 /* Define inline functions which call the internal entry points.  */
 
 __BEGIN_NAMESPACE_STD
-extern __inline double
+__extern_inline double
 __NTH (strtod (__const char *__restrict __nptr, char **__restrict __endptr))
 {
   return __strtod_internal (__nptr, __endptr, 0);
 }
-extern __inline long int
+__extern_inline long int
 __NTH (strtol (__const char *__restrict __nptr, char **__restrict __endptr,
 	       int __base))
 {
   return __strtol_internal (__nptr, __endptr, __base, 0);
 }
-extern __inline unsigned long int
+__extern_inline unsigned long int
 __NTH (strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
 		int __base))
 {
@@ -345,13 +345,13 @@
 
 # ifdef __USE_ISOC99
 __BEGIN_NAMESPACE_C99
-extern __inline float
+__extern_inline float
 __NTH (strtof (__const char *__restrict __nptr, char **__restrict __endptr))
 {
   return __strtof_internal (__nptr, __endptr, 0);
 }
 #  ifndef __LDBL_COMPAT
-extern __inline long double
+__extern_inline long double
 __NTH (strtold (__const char *__restrict __nptr, char **__restrict __endptr))
 {
   return __strtold_internal (__nptr, __endptr, 0);
@@ -361,13 +361,13 @@
 # endif
 
 # ifdef __USE_BSD
-__extension__ extern __inline long long int
+__extension__ __extern_inline long long int
 __NTH (strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
 	       int __base))
 {
   return __strtoll_internal (__nptr, __endptr, __base, 0);
 }
-__extension__ extern __inline unsigned long long int
+__extension__ __extern_inline unsigned long long int
 __NTH (strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
 		int __base))
 {
@@ -377,13 +377,13 @@
 
 # if defined __USE_MISC || defined __USE_ISOC99
 __BEGIN_NAMESPACE_C99
-__extension__ extern __inline long long int
+__extension__ __extern_inline long long int
 __NTH (strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
 		int __base))
 {
   return __strtoll_internal (__nptr, __endptr, __base, 0);
 }
-__extension__ extern __inline unsigned long long int
+__extension__ __extern_inline unsigned long long int
 __NTH (strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
 		 int __base))
 {
@@ -393,17 +393,17 @@
 # endif
 
 __BEGIN_NAMESPACE_STD
-extern __inline double
+__extern_inline double
 __NTH (atof (__const char *__nptr))
 {
   return strtod (__nptr, (char **) NULL);
 }
-extern __inline int
+__extern_inline int
 __NTH (atoi (__const char *__nptr))
 {
   return (int) strtol (__nptr, (char **) NULL, 10);
 }
-extern __inline long int
+__extern_inline long int
 __NTH (atol (__const char *__nptr))
 {
   return strtol (__nptr, (char **) NULL, 10);
@@ -412,7 +412,7 @@
 
 # if defined __USE_MISC || defined __USE_ISOC99
 __BEGIN_NAMESPACE_C99
-__extension__ extern __inline long long int
+__extension__ __extern_inline long long int
 __NTH (atoll (__const char *__nptr))
 {
   return strtoll (__nptr, (char **) NULL, 10);

Modified: fsf/trunk/libc/string/argz.h
==============================================================================
--- fsf/trunk/libc/string/argz.h (original)
+++ fsf/trunk/libc/string/argz.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Routines for dealing with '\0' separated arg vectors.
-   Copyright (C) 1995,96,97,98,99,2000,2004 Free Software Foundation, Inc.
+   Copyright (C) 1995,96,97,98,99,2000,2004,2007 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
@@ -160,7 +160,7 @@
 			__const char *__restrict __entry) __THROW;
 
 #ifdef __USE_EXTERN_INLINES
-extern inline char *
+__extern_inline char *
 __NTH (__argz_next (__const char *__argz, size_t __argz_len,
 		    __const char *__entry))
 {
@@ -174,7 +174,7 @@
   else
     return __argz_len > 0 ? (char *) __argz : 0;
 }
-extern inline char *
+__extern_inline char *
 __NTH (argz_next (__const char *__argz, size_t __argz_len,
 		  __const char *__entry))
 {

Modified: fsf/trunk/libc/string/bits/string2.h
==============================================================================
--- fsf/trunk/libc/string/bits/string2.h (original)
+++ fsf/trunk/libc/string/bits/string2.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-independant string function optimizations.
-   Copyright (C) 1997-2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1997-2003, 2004, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -43,7 +43,7 @@
 # ifdef __cplusplus
 #  define __STRING_INLINE inline
 # else
-#  define __STRING_INLINE extern __inline
+#  define __STRING_INLINE __extern_inline
 # endif
 #endif
 

Modified: fsf/trunk/libc/string/bits/string3.h
==============================================================================
--- fsf/trunk/libc/string/bits/string3.h (original)
+++ fsf/trunk/libc/string/bits/string3.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2007 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
@@ -151,7 +151,7 @@
 					       __const char *__src,
 					       size_t __n), stpncpy);
 
-extern __always_inline char *
+__extern_always_inline char *
 __NTH (stpncpy (char *__dest, __const char *__src, size_t __n))
 {
   if (__bos (__dest) != (size_t) -1

Modified: fsf/trunk/libc/string/strerror_l.c
==============================================================================
--- fsf/trunk/libc/string/strerror_l.c (original)
+++ fsf/trunk/libc/string/strerror_l.c Sun Mar 18 00:01:20 2007
@@ -19,6 +19,7 @@
 #include <libintl.h>
 #include <locale.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <sys/param.h>
 

Modified: fsf/trunk/libc/sysdeps/alpha/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/alpha/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/alpha/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -26,7 +26,7 @@
 #ifdef __cplusplus
 # define __MATH_INLINE __inline
 #else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
 #endif
 
 #if defined __USE_ISOC99 && defined __GNUC__ && !__GNUC_PREREQ(3,0)

Modified: fsf/trunk/libc/sysdeps/generic/inttypes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/inttypes.h (original)
+++ fsf/trunk/libc/sysdeps/generic/inttypes.h Sun Mar 18 00:01:20 2007
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2001, 2004, 2007 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
@@ -330,7 +330,7 @@
 				   int __base, int __group) __THROW;
 #   define __strtol_internal_defined	1
 #  endif
-extern __inline intmax_t
+__extern_inline intmax_t
 __NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
@@ -345,7 +345,7 @@
 					     int __base, int __group) __THROW;
 #   define __strtoul_internal_defined	1
 #  endif
-extern __inline uintmax_t
+__extern_inline uintmax_t
 __NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
@@ -359,7 +359,7 @@
 				   int __base, int __group) __THROW;
 #   define __wcstol_internal_defined	1
 #  endif
-extern __inline intmax_t
+__extern_inline intmax_t
 __NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
@@ -376,7 +376,7 @@
 					     int __base, int __group) __THROW;
 #   define __wcstoul_internal_defined	1
 #  endif
-extern __inline uintmax_t
+__extern_inline uintmax_t
 __NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
@@ -393,7 +393,7 @@
 					 int __base, int __group) __THROW;
 #   define __strtoll_internal_defined	1
 #  endif
-extern __inline intmax_t
+__extern_inline intmax_t
 __NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
@@ -411,7 +411,7 @@
 						   int __group) __THROW;
 #   define __strtoull_internal_defined	1
 #  endif
-extern __inline uintmax_t
+__extern_inline uintmax_t
 __NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr,
 		  int base))
 {
@@ -427,7 +427,7 @@
 					 int __base, int __group) __THROW;
 #   define __wcstoll_internal_defined	1
 #  endif
-extern __inline intmax_t
+__extern_inline intmax_t
 __NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {
@@ -446,7 +446,7 @@
 						   int __group) __THROW;
 #   define __wcstoull_internal_defined	1
 #  endif
-extern __inline uintmax_t
+__extern_inline uintmax_t
 __NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
 		  __gwchar_t **__restrict endptr, int base))
 {

Modified: fsf/trunk/libc/sysdeps/generic/machine-lock.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/machine-lock.h (original)
+++ fsf/trunk/libc/sysdeps/generic/machine-lock.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific definition for spin locks.  Stub version.
-   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997, 2007 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
@@ -30,7 +30,7 @@
 
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 /* Unlock LOCK.  */

Modified: fsf/trunk/libc/sysdeps/generic/machine-sp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/machine-sp.h (original)
+++ fsf/trunk/libc/sysdeps/generic/machine-sp.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific function to return the stack pointer.  Stub version.
-   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997, 2007 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
@@ -23,7 +23,7 @@
 /* Return the current stack pointer.  */
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 _EXTERN_INLINE void *

Modified: fsf/trunk/libc/sysdeps/i386/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/i386/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Inline math functions for i387.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006
+   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2003,2004,2006,2007
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by John C. Bowman <bowman@xxxxxxxxxxxxxxxx>, 1995.
@@ -26,7 +26,7 @@
 #ifdef __cplusplus
 # define __MATH_INLINE __inline
 #else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
 #endif
 
 

Modified: fsf/trunk/libc/sysdeps/i386/i486/bits/string.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i486/bits/string.h (original)
+++ fsf/trunk/libc/sysdeps/i386/i486/bits/string.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Optimized, inlined string functions.  i486 version.
-   Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004
+   Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007
    	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -35,7 +35,7 @@
 # ifdef __cplusplus
 #  define __STRING_INLINE inline
 # else
-#  define __STRING_INLINE extern __inline
+#  define __STRING_INLINE __extern_inline
 # endif
 #endif
 

Modified: fsf/trunk/libc/sysdeps/ia64/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/ia64/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/ia64/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Inline math functions for ia64.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007 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
@@ -24,7 +24,7 @@
 #ifdef __cplusplus
 # define __MATH_INLINE __inline
 #else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
 #endif
 
 #if defined __USE_ISOC99 && defined __GNUC__ && __GNUC__ >= 2

Modified: fsf/trunk/libc/sysdeps/mach/alpha/machine-lock.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/alpha/machine-lock.h (original)
+++ fsf/trunk/libc/sysdeps/mach/alpha/machine-lock.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific definition for spin locks.  Alpha version.
-   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997, 2007 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
@@ -30,7 +30,7 @@
 
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 /* Unlock LOCK.  */

Modified: fsf/trunk/libc/sysdeps/mach/alpha/machine-sp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/alpha/machine-sp.h (original)
+++ fsf/trunk/libc/sysdeps/mach/alpha/machine-sp.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific function to return the stack pointer.  Alpha version.
-   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997, 2007 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
@@ -23,7 +23,7 @@
 /* Return the current stack pointer.  */
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 _EXTERN_INLINE void *

Modified: fsf/trunk/libc/sysdeps/mach/i386/machine-lock.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/i386/machine-lock.h (original)
+++ fsf/trunk/libc/sysdeps/mach/i386/machine-lock.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific definition for spin locks.  i386 version.
-   Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1994, 1997, 2007 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
@@ -30,7 +30,7 @@
 
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 /* Unlock LOCK.  */

Modified: fsf/trunk/libc/sysdeps/mach/powerpc/machine-lock.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/powerpc/machine-lock.h (original)
+++ fsf/trunk/libc/sysdeps/mach/powerpc/machine-lock.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific definition for spin locks.  PowerPC version.
-   Copyright (C) 1994,97,2002 Free Software Foundation, Inc.
+   Copyright (C) 1994,97,2002,2007 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
@@ -30,7 +30,7 @@
 
 
 #ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
 #endif
 
 /* Unlock LOCK.  */

Modified: fsf/trunk/libc/sysdeps/mach/powerpc/machine-sp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/powerpc/machine-sp.h (original)
+++ fsf/trunk/libc/sysdeps/mach/powerpc/machine-sp.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Machine-specific function to return the stack pointer.  PowerPC version.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2007 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
@@ -27,7 +27,7 @@
 # ifdef _HURD_THREADVAR_H_EXTERN_INLINE
 #  define _EXTERN_INLINE _HURD_THREADVAR_H_EXTERN_INLINE
 # else
-#  define _EXTERN_INLINE extern __inline
+#  define _EXTERN_INLINE __extern_inline
 # endif
 #endif
 

Modified: fsf/trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Inline math functions for powerpc.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2006
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2006, 2007
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -25,7 +25,7 @@
 #ifdef __cplusplus
 # define __MATH_INLINE __inline
 #else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
 #endif  /* __cplusplus */
 
 #if defined __GNUC__ && !defined _SOFT_FLOAT

Modified: fsf/trunk/libc/sysdeps/s390/bits/string.h
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/bits/string.h (original)
+++ fsf/trunk/libc/sysdeps/s390/bits/string.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Optimized, inlined string functions.  S/390 version.
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2007 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@xxxxxxxxxx).
    This file is part of the GNU C Library.
 
@@ -34,7 +34,7 @@
 # ifdef __cplusplus
 #  define __STRING_INLINE inline
 # else
-#  define __STRING_INLINE extern __inline
+#  define __STRING_INLINE __extern_inline
 # endif
 #endif
 

Modified: fsf/trunk/libc/sysdeps/s390/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/s390/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Inline math functions for s390.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007 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
@@ -24,7 +24,7 @@
 #ifdef __cplusplus
 # define __MATH_INLINE __inline
 #else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
 #endif
 
 #if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \

Modified: fsf/trunk/libc/sysdeps/sparc/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Inline math functions for SPARC.
-   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006
+   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006, 2007
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>.
@@ -131,7 +131,7 @@
 # ifdef __cplusplus
 #  define __MATH_INLINE __inline
 # else
-#  define __MATH_INLINE extern __inline
+#  define __MATH_INLINE __extern_inline
 # endif  /* __cplusplus */
 
 /* The gcc, version 2.7 or below, has problems with all this inlining

Modified: fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h (original)
+++ fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* System-specific socket constants and types.  4.4 BSD version.
-   Copyright (C) 1991,92,1994-2002,2004 Free Software Foundation, Inc.
+   Copyright (C) 1991,92,1994-2002,2004,2007 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
@@ -227,7 +227,7 @@
 				      struct cmsghdr *__cmsg) __THROW;
 #ifdef __USE_EXTERN_INLINES
 # ifndef _EXTERN_INLINE
-#  define _EXTERN_INLINE extern __inline
+#  define _EXTERN_INLINE __extern_inline
 # endif
 _EXTERN_INLINE struct cmsghdr *
 __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sigset.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sigset.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sigset.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* __sig_atomic_t, __sigset_t, and related definitions.  Linux version.
-   Copyright (C) 1991, 1992, 1994, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007
+   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
@@ -43,7 +44,7 @@
 # define _SIGSET_H_fns 1
 
 # ifndef _EXTERN_INLINE
-#  define _EXTERN_INLINE extern __inline
+#  define _EXTERN_INLINE __extern_inline
 # endif
 
 /* Return a mask that includes the bit for SIG only.  */

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/socket.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* System-specific socket constants and types.  Linux version.
-   Copyright (C) 1991,1992,1994-2001,2004,2006 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007
+   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
@@ -264,7 +265,7 @@
 				      struct cmsghdr *__cmsg) __THROW;
 #ifdef __USE_EXTERN_INLINES
 # ifndef _EXTERN_INLINE
-#  define _EXTERN_INLINE extern __inline
+#  define _EXTERN_INLINE __extern_inline
 # endif
 _EXTERN_INLINE struct cmsghdr *
 __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/sysmacros.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/sysmacros.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sys/sysmacros.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,6 @@
 /* Definitions of macros to access `dev_t' values.
-   Copyright (C) 1996, 1997, 1999, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2003, 2004, 2007
+   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
@@ -27,30 +28,30 @@
    they need.  */
 #ifdef __GLIBC_HAVE_LONG_LONG
 __extension__
-extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
+__extern_inline unsigned int gnu_dev_major (unsigned long long int __dev)
      __THROW;
 __extension__
-extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
+__extern_inline unsigned int gnu_dev_minor (unsigned long long int __dev)
      __THROW;
 __extension__
-extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
+__extern_inline unsigned long long int gnu_dev_makedev (unsigned int __major,
 							unsigned int __minor)
      __THROW;
 
 # if defined __GNUC__ && __GNUC__ >= 2
-__extension__ extern __inline unsigned int
+__extension__ __extern_inline unsigned int
 __NTH (gnu_dev_major (unsigned long long int __dev))
 {
   return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
 }
 
-__extension__ extern __inline unsigned int
+__extension__ __extern_inline unsigned int
 __NTH (gnu_dev_minor (unsigned long long int __dev))
 {
   return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
 }
 
-__extension__ extern __inline unsigned long long int
+__extension__ __extern_inline unsigned long long int
 __NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor))
 {
   return ((__minor & 0xff) | ((__major & 0xfff) << 8)

Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Inline math functions for x86-64.
-   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 2002.
 
@@ -25,7 +25,7 @@
 #ifdef __cplusplus
 # define __MATH_INLINE __inline
 #else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
 #endif
 
 

Modified: fsf/trunk/libc/time/tst-mktime2.c
==============================================================================
--- fsf/trunk/libc/time/tst-mktime2.c (original)
+++ fsf/trunk/libc/time/tst-mktime2.c Sun Mar 18 00:01:20 2007
@@ -102,7 +102,8 @@
 do_test (void)
 {
   time_t t, delta;
-  int i, j;
+  int i;
+  unsigned int j;
 
   setenv ("TZ", "America/Sao_Paulo", 1);
   /* This test makes some buggy mktime implementations loop.
@@ -128,7 +129,7 @@
       mktime_test ((time_t) (60 * 60));
       mktime_test ((time_t) (60 * 60 * 24));
 
-      for (j = 1; 0 < j; j *= 2)
+      for (j = 1; j <= INT_MAX; j *= 2)
 	bigtime_test (j);
       bigtime_test (j - 1);
     }

Modified: fsf/trunk/libc/wcsmbs/bits/wchar2.h
==============================================================================
--- fsf/trunk/libc/wcsmbs/bits/wchar2.h (original)
+++ fsf/trunk/libc/wcsmbs/bits/wchar2.h Sun Mar 18 00:01:20 2007
@@ -1,5 +1,5 @@
 /* Checking macros for wchar functions.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007 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
@@ -30,7 +30,7 @@
 				 __const wchar_t *__restrict __s2, size_t __n),
 				wmemcpy);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
 		size_t __n))
 {
@@ -46,7 +46,7 @@
 						   __const wchar_t *__s2,
 						   size_t __n), wmemmove);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
 		 size_t __n))
 {
@@ -65,7 +65,7 @@
 				 __const wchar_t *__restrict __s2,
 				 size_t __n), wmempcpy);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
 		 size_t __n))
 {
@@ -81,7 +81,7 @@
 extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c,
 						  size_t __n), wmemset);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
 {
   if (__bos0 (__s) != (size_t) -1)
@@ -97,7 +97,7 @@
 				(wchar_t *__restrict __dest,
 				 __const wchar_t *__restrict __src), wcscpy);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -112,7 +112,7 @@
 						 __const wchar_t *__src),
 				wcpcpy);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -129,7 +129,7 @@
 				 __const wchar_t *__restrict __src,
 				 size_t __n), wcsncpy);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
 {
   if (__bos (__dest) != (size_t) -1
@@ -148,7 +148,7 @@
 				 __const wchar_t *__restrict __src,
 				 size_t __n), wcpncpy);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
 {
   if (__bos (__dest) != (size_t) -1
@@ -166,7 +166,7 @@
 				(wchar_t *__restrict __dest,
 				 __const wchar_t *__restrict __src), wcscat);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wcscat (wchar_t *__dest, __const wchar_t *__src))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -183,7 +183,7 @@
 				 __const wchar_t *__restrict __src,
 				 size_t __n), wcsncat);
 
-extern __always_inline wchar_t *
+__extern_always_inline wchar_t *
 __NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n))
 {
   if (__bos (__dest) != (size_t) -1)
@@ -246,7 +246,7 @@
 			    (wchar_t *__restrict __s, int __n,
 			     __FILE *__restrict __stream), fgetws) __wur;
 
-extern __always_inline __wur wchar_t *
+__extern_always_inline __wur wchar_t *
 fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
 {
   if (__bos (__s) != (size_t) -1
@@ -264,7 +264,7 @@
 			     __FILE *__restrict __stream), fgetws_unlocked)
   __wur;
 
-extern __always_inline __wur wchar_t *
+__extern_always_inline __wur wchar_t *
 fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
 {
   if (__bos (__s) != (size_t) -1
@@ -281,7 +281,7 @@
 			      (char *__restrict __s, wchar_t __wchar,
 			       mbstate_t *__restrict __ps), wcrtomb) __wur;
 
-extern __always_inline __wur size_t
+__extern_always_inline __wur size_t
 __NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps))
 {
   /* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
@@ -307,7 +307,7 @@
 			       size_t __len, mbstate_t *__restrict __ps),
 			      mbsrtowcs);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src,
 		  size_t __len, mbstate_t *__restrict __ps))
 {
@@ -330,7 +330,7 @@
 			       size_t __len, mbstate_t *__restrict __ps),
 			      wcsrtombs);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src,
 		  size_t __len, mbstate_t *__restrict __ps))
 {
@@ -352,7 +352,7 @@
 			       size_t __len, mbstate_t *__restrict __ps),
 			      mbsnrtowcs);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src,
 		   size_t __nmc, size_t __len, mbstate_t *__restrict __ps))
 {
@@ -376,7 +376,7 @@
 			       size_t __nwc, size_t __len,
 			       mbstate_t *__restrict __ps), wcsnrtombs);
 
-extern __always_inline size_t
+__extern_always_inline size_t
 __NTH (wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src,
 		   size_t __nwc, size_t __len, mbstate_t *__restrict __ps))
 {

Modified: fsf/trunk/libc/wcsmbs/wchar.h
==============================================================================
--- fsf/trunk/libc/wcsmbs/wchar.h (original)
+++ fsf/trunk/libc/wcsmbs/wchar.h Sun Mar 18 00:01:20 2007
@@ -326,19 +326,19 @@
    locales must use ASCII encoding for the values in the ASCII range
    and because the wchar_t encoding is always ISO 10646.  */
 extern wint_t __btowc_alias (int __c) __asm ("btowc");
-extern __inline wint_t
+__extern_inline wint_t
 __NTH (btowc (int __c))
 { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
 	  ? (wint_t) __c : __btowc_alias (__c)); }
 
 extern int __wctob_alias (wint_t __c) __asm ("wctob");
-extern __inline int
+__extern_inline int
 __NTH (wctob (wint_t __wc))
 { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
 	  ? (int) __wc : __wctob_alias (__wc)); }
 # endif
 
-extern __inline size_t
+__extern_inline size_t
 __NTH (mbrlen (__const char *__restrict __s, size_t __n,
 	       mbstate_t *__restrict __ps))
 { return (__ps != NULL
@@ -548,38 +548,38 @@
 /* Define inline functions which call the internal entry points.  */
 __BEGIN_NAMESPACE_C99
 
-extern __inline double
+__extern_inline double
 __NTH (wcstod (__const wchar_t *__restrict __nptr,
 	       wchar_t **__restrict __endptr))
 { return __wcstod_internal (__nptr, __endptr, 0); }
-extern __inline long int
+__extern_inline long int
 __NTH (wcstol (__const wchar_t *__restrict __nptr,
 	       wchar_t **__restrict __endptr, int __base))
 { return __wcstol_internal (__nptr, __endptr, __base, 0); }
-extern __inline unsigned long int
+__extern_inline unsigned long int
 __NTH (wcstoul (__const wchar_t *__restrict __nptr,
 		wchar_t **__restrict __endptr, int __base))
 { return __wcstoul_internal (__nptr, __endptr, __base, 0); }
 __END_NAMESPACE_C99
 
 # ifdef __USE_GNU
-extern __inline float
+__extern_inline float
 __NTH (wcstof (__const wchar_t *__restrict __nptr,
 	       wchar_t **__restrict __endptr))
 { return __wcstof_internal (__nptr, __endptr, 0); }
 #  ifndef __LDBL_COMPAT
-extern __inline long double
+__extern_inline long double
 __NTH (wcstold (__const wchar_t *__restrict __nptr,
 		wchar_t **__restrict __endptr))
 { return __wcstold_internal (__nptr, __endptr, 0); }
 #  endif
 __extension__
-extern __inline long long int
+__extern_inline long long int
 __NTH (wcstoq (__const wchar_t *__restrict __nptr,
 	       wchar_t **__restrict __endptr, int __base))
 { return __wcstoll_internal (__nptr, __endptr, __base, 0); }
 __extension__
-extern __inline unsigned long long int
+__extern_inline unsigned long long int
 __NTH (wcstouq (__const wchar_t *__restrict __nptr,
 		wchar_t **__restrict __endptr, int __base))
 { return __wcstoull_internal (__nptr, __endptr, __base, 0); }