summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-03-17 17:04:28 +0000
committerUlrich Drepper <drepper@redhat.com>2007-03-17 17:04:28 +0000
commitb037a293a48718af30d706c2e18c929d0e69a621 (patch)
treec92ad78668ac60e155f6d3cd18a7d005e9f4a457
parent63375de01e89283a60c045591c573cf2f51ee368 (diff)
* 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. * locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is NULL.
-rw-r--r--ChangeLog60
-rw-r--r--Makeconfig4
-rw-r--r--argp/argp.h5
-rw-r--r--bits/mathinline.h2
-rw-r--r--bits/sigset.h5
-rw-r--r--bits/string.h2
-rw-r--r--config.make.in1
-rw-r--r--configure.in24
-rw-r--r--ctype/ctype.h6
-rw-r--r--hurd/hurd.h5
-rw-r--r--hurd/hurd/fd.h4
-rw-r--r--hurd/hurd/port.h5
-rw-r--r--hurd/hurd/signal.h4
-rw-r--r--hurd/hurd/threadvar.h4
-rw-r--r--hurd/hurd/userlink.h4
-rw-r--r--io/sys/stat.h23
-rw-r--r--libio/bits/stdio.h4
-rw-r--r--libio/bits/stdio2.h8
-rw-r--r--locale/programs/ld-ctype.c5
-rw-r--r--mach/lock-intern.h4
-rw-r--r--mach/mach/mig_support.h6
-rw-r--r--math/bits/cmathcalls.h8
-rw-r--r--misc/sys/cdefs.h13
-rw-r--r--nptl/sysdeps/pthread/bits/libc-lock.h2
-rw-r--r--nptl/sysdeps/pthread/pthread.h7
-rw-r--r--posix/bits/unistd.h30
-rw-r--r--socket/bits/socket2.h6
-rw-r--r--stdlib/bits/stdlib.h12
-rw-r--r--stdlib/gmp.h6
-rw-r--r--stdlib/stdlib.h28
-rw-r--r--string/argz.h6
-rw-r--r--string/bits/string2.h4
-rw-r--r--string/bits/string3.h4
-rw-r--r--sysdeps/alpha/fpu/bits/mathinline.h2
-rw-r--r--sysdeps/generic/inttypes.h18
-rw-r--r--sysdeps/generic/machine-lock.h4
-rw-r--r--sysdeps/generic/machine-sp.h4
-rw-r--r--sysdeps/i386/fpu/bits/mathinline.h4
-rw-r--r--sysdeps/i386/i486/bits/string.h4
-rw-r--r--sysdeps/ia64/fpu/bits/mathinline.h4
-rw-r--r--sysdeps/mach/alpha/machine-lock.h4
-rw-r--r--sysdeps/mach/alpha/machine-sp.h4
-rw-r--r--sysdeps/mach/i386/machine-lock.h4
-rw-r--r--sysdeps/mach/powerpc/machine-lock.h4
-rw-r--r--sysdeps/mach/powerpc/machine-sp.h4
-rw-r--r--sysdeps/powerpc/fpu/bits/mathinline.h4
-rw-r--r--sysdeps/s390/bits/string.h4
-rw-r--r--sysdeps/s390/fpu/bits/mathinline.h4
-rw-r--r--sysdeps/sparc/fpu/bits/mathinline.h4
-rw-r--r--sysdeps/unix/bsd/bsd4.4/bits/socket.h4
-rw-r--r--sysdeps/unix/sysv/linux/bits/sigset.h5
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h5
-rw-r--r--sysdeps/unix/sysv/linux/sys/sysmacros.h15
-rw-r--r--sysdeps/x86_64/fpu/bits/mathinline.h4
-rw-r--r--wcsmbs/bits/wchar2.h36
-rw-r--r--wcsmbs/wchar.h20
56 files changed, 293 insertions, 183 deletions
diff --git a/ChangeLog b/ChangeLog
index 6824b72032..c2ee48ddff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,65 @@
+2007-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ * 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@redhat.com>
+ * 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.
(log10_test, log1p_test, log2_test): Test -Inf.
diff --git a/Makeconfig b/Makeconfig
index 349f94d9ac..049e4ca83a 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -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 @@ CPPFLAGS = $($(subdir)-CPPFLAGS) $(+includes) $(defines) \
$(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))
diff --git a/argp/argp.h b/argp/argp.h
index 3a5cb01fd8..baf3afd826 100644
--- a/argp/argp.h
+++ b/argp/argp.h
@@ -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@gnu.ai.mit.edu>.
@@ -558,7 +559,7 @@ extern void *__argp_input (__const struct argp *__restrict __argp,
# endif
# ifndef ARGP_EI
-# define ARGP_EI extern __inline__
+# define ARGP_EI __extern_inline
# endif
ARGP_EI void
diff --git a/bits/mathinline.h b/bits/mathinline.h
index 5498af6b63..02ec21b438 100644
--- a/bits/mathinline.h
+++ b/bits/mathinline.h
@@ -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. */
diff --git a/bits/sigset.h b/bits/sigset.h
index 5fc8692df0..d6f9311e71 100644
--- a/bits/sigset.h
+++ b/bits/sigset.h
@@ -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 @@ typedef unsigned long int __sigset_t;
#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
diff --git a/bits/string.h b/bits/string.h
index ad68b038b6..f8630d2c52 100644
--- a/bits/string.h
+++ b/bits/string.h
@@ -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. */
diff --git a/config.make.in b/config.make.in
index 7aa9c1c12d..35597f808d 100644
--- a/config.make.in
+++ b/config.make.in
@@ -53,6 +53,7 @@ have-cpp-asm-debuginfo = @libc_cv_cpp_asm_debuginfo@
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@
diff --git a/configure.in b/configure.in
index 71ceb04b33..baf37598b2 100644
--- a/configure.in
+++ b/configure.in
@@ -1641,6 +1641,30 @@ fi
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");
diff --git a/ctype/ctype.h b/ctype/ctype.h
index e08545359d..9ae7fb6088 100644
--- a/ctype/ctype.h
+++ b/ctype/ctype.h
@@ -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 @@ __exctype (_tolower);
# 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;
diff --git a/hurd/hurd.h b/hurd/hurd.h
index 0dc9f2158b..642ea43b7b 100644
--- a/hurd/hurd.h
+++ b/hurd/hurd.h
@@ -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
diff --git a/hurd/hurd/fd.h b/hurd/hurd/fd.h
index ad11367f3b..08d4407e88 100644
--- a/hurd/hurd/fd.h
+++ b/hurd/hurd/fd.h
@@ -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 @@ extern struct mutex _hurd_dtable_lock; /* Locks those two variables. */
#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
diff --git a/hurd/hurd/port.h b/hurd/hurd/port.h
index 4e7bbebc18..a1803c36a5 100644
--- a/hurd/hurd/port.h
+++ b/hurd/hurd/port.h
@@ -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 @@ struct hurd_port
#ifndef _HURD_PORT_H_EXTERN_INLINE
-#define _HURD_PORT_H_EXTERN_INLINE extern __inline
+#define _HURD_PORT_H_EXTERN_INLINE __extern_inline
#endif
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index 238a73f19c..c5b04f434c 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -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 @@ extern struct hurd_sigstate *_hurd_self_sigstate (void)
__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 *
diff --git a/hurd/hurd/threadvar.h b/hurd/hurd/threadvar.h
index 5e7441f921..a0535f7596 100644
--- a/hurd/hurd/threadvar.h
+++ b/hurd/hurd/threadvar.h
@@ -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 @@ enum __hurd_threadvar_index
#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
diff --git a/hurd/hurd/userlink.h b/hurd/hurd/userlink.h
index 65179acac6..34457e7a0f 100644
--- a/hurd/hurd/userlink.h
+++ b/hurd/hurd/userlink.h
@@ -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 @@ struct hurd_userlink
#ifndef _HURD_USERLINK_H_EXTERN_INLINE
-#define _HURD_USERLINK_H_EXTERN_INLINE extern __inline
+#define _HURD_USERLINK_H_EXTERN_INLINE __extern_inline
#endif
diff --git a/io/sys/stat.h b/io/sys/stat.h
index 4cc0b429a2..d1f4484185 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -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 @@ extern int __xmknodat (int __ver, int __fd, __const char *__path,
#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 @@ __NTH (fstatat (int __fd, __const char *__filename, struct stat *__statbuf,
# 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 @@ __NTH (mknod (__const char *__path, __mode_t __mode, __dev_t __dev))
# 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 @@ __NTH (mknodat (int __fd, __const char *__path, __mode_t __mode,
# 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))
{
diff --git a/libio/bits/stdio.h b/libio/bits/stdio.h
index 9e951ad8e4..2731162c7f 100644
--- a/libio/bits/stdio.h
+++ b/libio/bits/stdio.h
@@ -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
diff --git a/libio/bits/stdio2.h b/libio/bits/stdio2.h
index 0582edbccb..924a4817e7 100644
--- a/libio/bits/stdio2.h
+++ b/libio/bits/stdio2.h
@@ -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 int __vprintf_chk (int __flag, __const char *__restrict __format,
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 @@ extern char *__REDIRECT (__fgets_alias,
(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 @@ extern char *__REDIRECT (__fgets_unlocked_alias,
(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
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
index 69fc05f4ee..0e4b96d12f 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -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@gnu.org>, 1995.
@@ -1866,6 +1866,9 @@ find_translit (struct localedef_t *locale, const struct charmap_t *charmap,
assert (locale != NULL);
ctype = locale->categories[LC_CTYPE].ctype;
+ if (ctype == NULL)
+ return NULL;
+
if (ctype->translit != NULL)
result = find_translit2 (ctype, charmap, wch);
diff --git a/mach/lock-intern.h b/mach/lock-intern.h
index 5aabc4a11f..d42a378f4d 100644
--- a/mach/lock-intern.h
+++ b/mach/lock-intern.h
@@ -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
diff --git a/mach/mach/mig_support.h b/mach/mach/mig_support.h
index 4cc3e987a9..f02e8d4f83 100644
--- a/mach/mach/mig_support.h
+++ b/mach/mach/mig_support.h
@@ -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 @@ extern void mig_reply_setup (const mach_msg_header_t *__request,
/* 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);
diff --git a/math/bits/cmathcalls.h b/math/bits/cmathcalls.h
index c680c6d8e4..db7f69c72e 100644
--- a/math/bits/cmathcalls.h
+++ b/math/bits/cmathcalls.h
@@ -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 @@ __MATHDECL (_Mdouble_,creal, (_Mdouble_complex_ __z));
#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;
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index ce5e83d571..ab7d327c59 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -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
diff --git a/nptl/sysdeps/pthread/bits/libc-lock.h b/nptl/sysdeps/pthread/bits/libc-lock.h
index c4c67ea4d3..0c8c0ada88 100644
--- a/nptl/sysdeps/pthread/bits/libc-lock.h
+++ b/nptl/sysdeps/pthread/bits/libc-lock.h
@@ -414,7 +414,7 @@ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer
/* 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)
diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h
index f60ecdee18..4dc0b2272b 100644
--- a/nptl/sysdeps/pthread/pthread.h
+++ b/nptl/sysdeps/pthread/pthread.h
@@ -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 @@ class __pthread_cleanup_class
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 @@ extern int pthread_atfork (void (*__prepare) (void),
#ifdef __USE_EXTERN_INLINES
/* Optimizations. */
-extern __inline int
+__extern_inline int
__NTH (pthread_equal (pthread_t __thread1, pthread_t __thread2))
{
return __thread1 == __thread2;
diff --git a/posix/bits/unistd.h b/posix/bits/unistd.h
index b08aef2f6c..331e8ea3b9 100644
--- a/posix/bits/unistd.h
+++ b/posix/bits/unistd.h
@@ -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 __read_chk (int __fd, void *__buf, size_t __nbytes,
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 @@ extern ssize_t __REDIRECT (__pread64_alias,
__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 @@ pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
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 @@ pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset)
# 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 @@ extern ssize_t __REDIRECT_NTH (__readlink_alias,
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 @@ extern ssize_t __REDIRECT_NTH (__readlinkat_alias,
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 *__getcwd_chk (char *__buf, size_t __size, size_t __buflen)
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 *__getwd_chk (char *__buf, size_t buflen)
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 __confstr_chk (int __name, char *__buf, size_t __len,
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 __getgroups_chk (int __size, __gid_t __list[], size_t listlen)
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 @@ extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf,
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 __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal)
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 __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal)
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 @@ extern int __REDIRECT_NTH (__getdomainname_alias, (char *__buf,
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
diff --git a/socket/bits/socket2.h b/socket/bits/socket2.h
index 2543ea37d4..9fac75669c 100644
--- a/socket/bits/socket2.h
+++ b/socket/bits/socket2.h
@@ -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 __recv_chk (int __fd, void *__buf, size_t __n, size_t __buflen,
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 @@ extern ssize_t __REDIRECT (__recvfrom_alias,
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)
{
diff --git a/stdlib/bits/stdlib.h b/stdlib/bits/stdlib.h
index 4bacb09a09..7ee7bf5587 100644
--- a/stdlib/bits/stdlib.h
+++ b/stdlib/bits/stdlib.h
@@ -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 @@ extern char *__REDIRECT_NTH (__realpath_alias,
(__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 @@ extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf,
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 __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
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 @@ extern size_t __REDIRECT_NTH (__mbstowcs_alias,
__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 @@ extern size_t __REDIRECT_NTH (__wcstombs_alias,
__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))
{
diff --git a/stdlib/gmp.h b/stdlib/gmp.h
index 0ecc6d1024..cace8be230 100644
--- a/stdlib/gmp.h
+++ b/stdlib/gmp.h
@@ -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.
@@ -21,6 +21,8 @@ MA 02111-1307, USA. */
#ifndef __GMP_H__
+#include <features.h>
+
#ifndef __GNU_MP__
#define __GNU_MP__ 2
#define __need_size_t
@@ -41,7 +43,7 @@ MA 02111-1307, USA. */
#ifndef _EXTERN_INLINE
#ifdef __GNUC__
-#define _EXTERN_INLINE extern __inline__
+#define _EXTERN_INLINE __extern_inline
#else
#define _EXTERN_INLINE static
#endif
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index 7b39bc018a..af27d09e3a 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -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 @@ extern unsigned long long int __strtoull_internal (__const char *
/* 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 @@ __END_NAMESPACE_STD
# 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 @@ __END_NAMESPACE_C99
# 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 @@ __NTH (strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
# 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 @@ __END_NAMESPACE_C99
# 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 @@ __END_NAMESPACE_STD
# 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);
diff --git a/string/argz.h b/string/argz.h
index dd7e4706c7..4141d998f9 100644
--- a/string/argz.h
+++ b/string/argz.h
@@ -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 @@ extern char *argz_next (__const char *__restrict __argz, size_t __argz_len,
__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 @@ __NTH (__argz_next (__const char *__argz, size_t __argz_len,
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))
{
diff --git a/string/bits/string2.h b/string/bits/string2.h
index ba84da2346..1e4d736a17 100644
--- a/string/bits/string2.h
+++ b/string/bits/string2.h
@@ -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@cygnus.com>, 1997.
@@ -43,7 +43,7 @@
# ifdef __cplusplus
# define __STRING_INLINE inline
# else
-# define __STRING_INLINE extern __inline
+# define __STRING_INLINE __extern_inline
# endif
#endif
diff --git a/string/bits/string3.h b/string/bits/string3.h
index 041ac11259..f68ce5899f 100644
--- a/string/bits/string3.h
+++ b/string/bits/string3.h
@@ -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 @@ extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest,
__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
diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h
index 3ea021a7dd..a126dcf056 100644
--- a/sysdeps/alpha/fpu/bits/mathinline.h
+++ b/sysdeps/alpha/fpu/bits/mathinline.h
@@ -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)
diff --git a/sysdeps/generic/inttypes.h b/sysdeps/generic/inttypes.h
index 87f532f1d4..3f1b316c09 100644
--- a/sysdeps/generic/inttypes.h
+++ b/sysdeps/generic/inttypes.h
@@ -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 @@ extern long int __strtol_internal (__const char *__restrict __nptr,
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 @@ extern unsigned long int __strtoul_internal (__const char *
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 @@ extern long int __wcstol_internal (__const __gwchar_t * __restrict __nptr,
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 @@ extern unsigned long int __wcstoul_internal (__const __gwchar_t *
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 @@ extern long long int __strtoll_internal (__const char *__restrict __nptr,
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 @@ extern unsigned long long int __strtoull_internal (__const char *
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 @@ extern long long int __wcstoll_internal (__const __gwchar_t *
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 @@ extern unsigned long long int __wcstoull_internal (__const __gwchar_t *
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))
{
diff --git a/sysdeps/generic/machine-lock.h b/sysdeps/generic/machine-lock.h
index c7cadf5128..db9f444891 100644
--- a/sysdeps/generic/machine-lock.h
+++ b/sysdeps/generic/machine-lock.h
@@ -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 @@ typedef volatile int __spin_lock_t;
#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
#endif
/* Unlock LOCK. */
diff --git a/sysdeps/generic/machine-sp.h b/sysdeps/generic/machine-sp.h
index a8be7c0f69..25e423efa5 100644
--- a/sysdeps/generic/machine-sp.h
+++ b/sysdeps/generic/machine-sp.h
@@ -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 *
diff --git a/sysdeps/i386/fpu/bits/mathinline.h b/sysdeps/i386/fpu/bits/mathinline.h
index 28547d44b8..a0f630e240 100644
--- a/sysdeps/i386/fpu/bits/mathinline.h
+++ b/sysdeps/i386/fpu/bits/mathinline.h
@@ -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@math.ualberta.ca>, 1995.
@@ -26,7 +26,7 @@
#ifdef __cplusplus
# define __MATH_INLINE __inline
#else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
#endif
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h
index 203907b146..2db9abc9e4 100644
--- a/sysdeps/i386/i486/bits/string.h
+++ b/sysdeps/i386/i486/bits/string.h
@@ -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
diff --git a/sysdeps/ia64/fpu/bits/mathinline.h b/sysdeps/ia64/fpu/bits/mathinline.h
index 9bb5f1a710..1e90257182 100644
--- a/sysdeps/ia64/fpu/bits/mathinline.h
+++ b/sysdeps/ia64/fpu/bits/mathinline.h
@@ -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
diff --git a/sysdeps/mach/alpha/machine-lock.h b/sysdeps/mach/alpha/machine-lock.h
index 80f8750c87..bd27d2a51f 100644
--- a/sysdeps/mach/alpha/machine-lock.h
+++ b/sysdeps/mach/alpha/machine-lock.h
@@ -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 @@ typedef __volatile long int __spin_lock_t;
#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
#endif
/* Unlock LOCK. */
diff --git a/sysdeps/mach/alpha/machine-sp.h b/sysdeps/mach/alpha/machine-sp.h
index b737525574..e6df63c9ac 100644
--- a/sysdeps/mach/alpha/machine-sp.h
+++ b/sysdeps/mach/alpha/machine-sp.h
@@ -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 *
diff --git a/sysdeps/mach/i386/machine-lock.h b/sysdeps/mach/i386/machine-lock.h
index 7c23fba8c5..d786628170 100644
--- a/sysdeps/mach/i386/machine-lock.h
+++ b/sysdeps/mach/i386/machine-lock.h
@@ -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 @@ typedef __volatile int __spin_lock_t;
#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
#endif
/* Unlock LOCK. */
diff --git a/sysdeps/mach/powerpc/machine-lock.h b/sysdeps/mach/powerpc/machine-lock.h
index cba6b0a6e2..96af2219be 100644
--- a/sysdeps/mach/powerpc/machine-lock.h
+++ b/sysdeps/mach/powerpc/machine-lock.h
@@ -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 @@ typedef __volatile long int __spin_lock_t;
#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE extern __inline
+#define _EXTERN_INLINE __extern_inline
#endif
/* Unlock LOCK. */
diff --git a/sysdeps/mach/powerpc/machine-sp.h b/sysdeps/mach/powerpc/machine-sp.h
index cf5341cb9b..267707bce0 100644
--- a/sysdeps/mach/powerpc/machine-sp.h
+++ b/sysdeps/mach/powerpc/machine-sp.h
@@ -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
diff --git a/sysdeps/powerpc/fpu/bits/mathinline.h b/sysdeps/powerpc/fpu/bits/mathinline.h
index 04478309d9..6c01fa436c 100644
--- a/sysdeps/powerpc/fpu/bits/mathinline.h
+++ b/sysdeps/powerpc/fpu/bits/mathinline.h
@@ -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
diff --git a/sysdeps/s390/bits/string.h b/sysdeps/s390/bits/string.h
index d83df39bb2..e16c7cb829 100644
--- a/sysdeps/s390/bits/string.h
+++ b/sysdeps/s390/bits/string.h
@@ -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@de.ibm.com).
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
diff --git a/sysdeps/s390/fpu/bits/mathinline.h b/sysdeps/s390/fpu/bits/mathinline.h
index 5c6b83ad06..06a6368450 100644
--- a/sysdeps/s390/fpu/bits/mathinline.h
+++ b/sysdeps/s390/fpu/bits/mathinline.h
@@ -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) \
diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h
index 9dd784d122..16ad22e666 100644
--- a/sysdeps/sparc/fpu/bits/mathinline.h
+++ b/sysdeps/sparc/fpu/bits/mathinline.h
@@ -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@redhat.com>.
@@ -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
diff --git a/sysdeps/unix/bsd/bsd4.4/bits/socket.h b/sysdeps/unix/bsd/bsd4.4/bits/socket.h
index b2227f10d2..f74603f948 100644
--- a/sysdeps/unix/bsd/bsd4.4/bits/socket.h
+++ b/sysdeps/unix/bsd/bsd4.4/bits/socket.h
@@ -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 @@ extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
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))
diff --git a/sysdeps/unix/sysv/linux/bits/sigset.h b/sysdeps/unix/sysv/linux/bits/sigset.h
index 7ccadda456..daec8ac494 100644
--- a/sysdeps/unix/sysv/linux/bits/sigset.h
+++ b/sysdeps/unix/sysv/linux/bits/sigset.h
@@ -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 @@ typedef struct
# 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. */
diff --git a/sysdeps/unix/sysv/linux/bits/socket.h b/sysdeps/unix/sysv/linux/bits/socket.h
index 356a2ece74..377f589bbd 100644
--- a/sysdeps/unix/sysv/linux/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -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 @@ extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
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))
diff --git a/sysdeps/unix/sysv/linux/sys/sysmacros.h b/sysdeps/unix/sysv/linux/sys/sysmacros.h
index 179642ff40..e59672980e 100644
--- a/sysdeps/unix/sysv/linux/sys/sysmacros.h
+++ b/sysdeps/unix/sysv/linux/sys/sysmacros.h
@@ -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)
diff --git a/sysdeps/x86_64/fpu/bits/mathinline.h b/sysdeps/x86_64/fpu/bits/mathinline.h
index 39d11b678d..d08a9b033b 100644
--- a/sysdeps/x86_64/fpu/bits/mathinline.h
+++ b/sysdeps/x86_64/fpu/bits/mathinline.h
@@ -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@suse.de>, 2002.
@@ -25,7 +25,7 @@
#ifdef __cplusplus
# define __MATH_INLINE __inline
#else
-# define __MATH_INLINE extern __inline
+# define __MATH_INLINE __extern_inline
#endif
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
index 00216ec059..697b9f2cd8 100644
--- a/wcsmbs/bits/wchar2.h
+++ b/wcsmbs/bits/wchar2.h
@@ -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 @@ extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias,
__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 @@ extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
__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 @@ extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias,
__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 *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
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 @@ extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
(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 @@ extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
__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 @@ extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias,
__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 @@ extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias,
__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 @@ extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
(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 @@ extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
__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 @@ extern wchar_t *__REDIRECT (__fgetws_alias,
(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 @@ extern wchar_t *__REDIRECT (__fgetws_unlocked_alias,
__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 @@ extern size_t __REDIRECT_NTH (__wcrtomb_alias,
(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 @@ extern size_t __REDIRECT_NTH (__mbsrtowcs_alias,
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 @@ extern size_t __REDIRECT_NTH (__wcsrtombs_alias,
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 @@ extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias,
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 @@ extern size_t __REDIRECT_NTH (__wcsnrtombs_alias,
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))
{
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 2965a7baf9..5ef4b1a98f 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -326,19 +326,19 @@ __END_NAMESPACE_C99
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 @@ extern unsigned long long int __wcstoull_internal (__const wchar_t *
/* 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); }