[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r3697 - in /fsf/trunk/libc: ./ localedata/ misc/sys/ string/bits/ wcsmbs/bits/
- To: commits@xxxxxxxxxx
- Subject: [commits] r3697 - in /fsf/trunk/libc: ./ localedata/ misc/sys/ string/bits/ wcsmbs/bits/
- From: eglibc@xxxxxxxxxx
- Date: Thu, 04 Oct 2007 07:03:12 -0000
Author: eglibc
Date: Thu Oct 4 00:03:10 2007
New Revision: 3697
Log:
Import glibc-mainline for 2007-10-04
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/localedata/ChangeLog
fsf/trunk/libc/localedata/tst-langinfo.sh
fsf/trunk/libc/misc/sys/cdefs.h
fsf/trunk/libc/string/bits/string3.h
fsf/trunk/libc/wcsmbs/bits/wchar2.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Oct 4 00:03:10 2007
@@ -1,3 +1,16 @@
+2007-10-03 Jakub Jelinek
+
+ * string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy,
+ bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use
+ __extern_always_inline functions unconditionally, drop macros.
+
+ * misc/sys/cdefs.h (__REDIRECT_LDBL, __REDIRECT_NTH_LDBL): New macros.
+ * wcsmbs/bits/wchar2.h (__swprintf_alias, __vswprintf_alias): Use
+ __REDIRECT_NTH_LDBL macro rather than __REDIRECT_NTH.
+
+ * misc/sys/cdefs.h (__extern_always_inline): For GCC 4.3+
+ add __artificial__ attribute.
+
2007-10-02 Ulrich Drepper <drepper@xxxxxxxxxx>
* string/strcoll_l.c (STRCOLL): Correct handling of switching from
Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Thu Oct 4 00:03:10 2007
@@ -1,3 +1,7 @@
+2007-10-04 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * tst-langinfo.sh: Update expected THOUSEP for fr_FR.
+
2007-10-02 Ulrich Drepper <drepper@xxxxxxxxxx>
* charmaps/UTF-8: Fix U06FF definition. Remove double U074A
Modified: fsf/trunk/libc/localedata/tst-langinfo.sh
==============================================================================
--- fsf/trunk/libc/localedata/tst-langinfo.sh (original)
+++ fsf/trunk/libc/localedata/tst-langinfo.sh Thu Oct 4 00:03:10 2007
@@ -1,6 +1,6 @@
#! /bin/sh
# Test nl_langinfo.
-# Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2001, 2003, 2007 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#
@@ -287,7 +287,7 @@
fr_FR.ISO-8859-1 D_FMT "%d.%m.%Y"
fr_FR.ISO-8859-1 T_FMT "%T"
fr_FR.ISO-8859-1 RADIXCHAR ,
-fr_FR.ISO-8859-1 THOUSEP ""
+fr_FR.ISO-8859-1 THOUSEP " "
fr_FR.ISO-8859-1 YESEXPR ^[oOyY].*
fr_FR.ISO-8859-1 NOEXPR ^[nN].*
ja_JP.EUC-JP ABDAY_1 Æü
Modified: fsf/trunk/libc/misc/sys/cdefs.h
==============================================================================
--- fsf/trunk/libc/misc/sys/cdefs.h (original)
+++ fsf/trunk/libc/misc/sys/cdefs.h Thu Oct 4 00:03:10 2007
@@ -294,8 +294,13 @@
#if !defined __cplusplus || __GNUC_PREREQ (4,3)
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
-# define __extern_always_inline \
+# if __GNUC_PREREQ (4,3)
+# define __extern_always_inline \
+ extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
+# else
+# define __extern_always_inline \
extern __always_inline __attribute__ ((__gnu_inline__))
+# endif
# else
# define __extern_inline extern __inline
# define __extern_always_inline extern __always_inline
@@ -355,6 +360,10 @@
extern __typeof (name) name __asm (__ASMNAME (#alias));
# define __LDBL_REDIR_DECL(name) \
extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+# define __REDIRECT_LDBL(name, proto, alias) \
+ __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
# endif
#endif
#if !defined __LDBL_COMPAT || !defined __REDIRECT
@@ -363,6 +372,11 @@
# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
# define __LDBL_REDIR_NTH(name, proto) name proto __THROW
# define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+# define __REDIRECT_NTH_LDBL(name, proto, alias) \
+ __REDIRECT_NTH (name, proto, alias)
+# endif
#endif
#endif /* sys/cdefs.h */
Modified: fsf/trunk/libc/string/bits/string3.h
==============================================================================
--- fsf/trunk/libc/string/bits/string3.h (original)
+++ fsf/trunk/libc/string/bits/string3.h Thu Oct 4 00:03:10 2007
@@ -45,65 +45,27 @@
#endif
-#ifdef __cplusplus
__extern_always_inline void *
__NTH (memcpy (void *__restrict __dest, __const void *__restrict __src,
size_t __len))
{
return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
}
-#else
-# define memcpy(dest, src, len) \
- ((__bos0 (dest) != (size_t) -1) \
- ? __builtin___memcpy_chk (dest, src, len, __bos0 (dest)) \
- : __memcpy_ichk (dest, src, len))
-static __always_inline void *
-__NTH (__memcpy_ichk (void *__restrict __dest, __const void *__restrict __src,
- size_t __len))
-{
- return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
-}
-#endif
-#ifdef __cplusplus
__extern_always_inline void *
__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
size_t __len))
{
return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
-#else
-# define memmove(dest, src, len) \
- ((__bos0 (dest) != (size_t) -1) \
- ? __builtin___memmove_chk (dest, src, len, __bos0 (dest)) \
- : __memmove_ichk (dest, src, len))
-static __always_inline void *
-__NTH (__memmove_ichk (void *__dest, __const void *__src, size_t __len))
-{
- return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
-}
-#endif
#ifdef __USE_GNU
-# ifdef __cplusplus
__extern_always_inline void *
__NTH (mempcpy (void *__restrict __dest, __const void *__restrict __src,
size_t __len))
{
return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));
}
-# else
-# define mempcpy(dest, src, len) \
- ((__bos0 (dest) != (size_t) -1) \
- ? __builtin___mempcpy_chk (dest, src, len, __bos0 (dest)) \
- : __mempcpy_ichk (dest, src, len))
-static __always_inline void *
-__NTH (__mempcpy_ichk (void *__restrict __dest,
- __const void *__restrict __src, size_t __len))
-{
- return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));
-}
-# endif
#endif
@@ -112,7 +74,6 @@
especially problematic if the intended fill value is zero. In this
case no work is done at all. We detect these problems by referring
non-existing functions. */
-#ifdef __cplusplus
__extern_always_inline void *
__NTH (memset (void *__dest, int __ch, size_t __len))
{
@@ -123,103 +84,43 @@
}
return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
}
-#else
-# define memset(dest, ch, len) \
- (__builtin_constant_p (len) && (len) == 0 \
- ? (__warn_memset_zero_len (), (void) (ch), (void) (len), (void *) (dest)) \
- : ((__bos0 (dest) != (size_t) -1) \
- ? __builtin___memset_chk (dest, ch, len, __bos0 (dest)) \
- : __memset_ichk (dest, ch, len)))
-static __always_inline void *
-__NTH (__memset_ichk (void *__dest, int __ch, size_t __len))
-{
- return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
-}
-#endif
#ifdef __USE_BSD
-# ifdef __cplusplus
__extern_always_inline void
__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
size_t __len))
{
- __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
+ (void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
+
__extern_always_inline void
__NTH (bzero (void *__dest, size_t __len))
{
- __builtin___memset_chk (__dest, '\0', __len, __bos0 (__dest));
+ (void) __builtin___memset_chk (__dest, '\0', __len, __bos0 (__dest));
}
-# else
-# define bcopy(src, dest, len) ((void) \
- ((__bos0 (dest) != (size_t) -1) \
- ? __builtin___memmove_chk (dest, src, len, __bos0 (dest)) \
- : __memmove_ichk (dest, src, len)))
-# define bzero(dest, len) ((void) \
- ((__bos0 (dest) != (size_t) -1) \
- ? __builtin___memset_chk (dest, '\0', len, __bos0 (dest)) \
- : __memset_ichk (dest, '\0', len)))
-# endif
#endif
-#ifdef __cplusplus
__extern_always_inline char *
__NTH (strcpy (char *__restrict __dest, __const char *__restrict __src))
{
return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
}
-#else
-# define strcpy(dest, src) \
- ((__bos (dest) != (size_t) -1) \
- ? __builtin___strcpy_chk (dest, src, __bos (dest)) \
- : __strcpy_ichk (dest, src))
-static __always_inline char *
-__NTH (__strcpy_ichk (char *__restrict __dest, __const char *__restrict __src))
-{
- return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
-}
-#endif
#ifdef __USE_GNU
-# ifdef __cplusplus
__extern_always_inline char *
__NTH (stpcpy (char *__restrict __dest, __const char *__restrict __src))
{
return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
}
-# else
-# define stpcpy(dest, src) \
- ((__bos (dest) != (size_t) -1) \
- ? __builtin___stpcpy_chk (dest, src, __bos (dest)) \
- : __stpcpy_ichk (dest, src))
-static __always_inline char *
-__NTH (__stpcpy_ichk (char *__restrict __dest, __const char *__restrict __src))
-{
- return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
-}
-# endif
#endif
-#ifdef __cplusplus
__extern_always_inline char *
__NTH (strncpy (char *__restrict __dest, __const char *__restrict __src,
size_t __len))
{
return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
}
-#else
-# define strncpy(dest, src, len) \
- ((__bos (dest) != (size_t) -1) \
- ? __builtin___strncpy_chk (dest, src, len, __bos (dest)) \
- : __strncpy_ichk (dest, src, len))
-static __always_inline char *
-__NTH (__strncpy_ichk (char *__restrict __dest, __const char *__restrict __src,
- size_t __len))
-{
- return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
-}
-#endif
// XXX We have no corresponding builtin yet.
extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n,
@@ -238,41 +139,16 @@
}
-#ifdef __cplusplus
__extern_always_inline char *
__NTH (strcat (char *__restrict __dest, __const char *__restrict __src))
{
return __builtin___strcat_chk (__dest, __src, __bos (__dest));
}
-#else
-# define strcat(dest, src) \
- ((__bos (dest) != (size_t) -1) \
- ? __builtin___strcat_chk (dest, src, __bos (dest)) \
- : __strcat_ichk (dest, src))
-static __always_inline char *
-__NTH (__strcat_ichk (char *__restrict __dest, __const char *__restrict __src))
-{
- return __builtin___strcat_chk (__dest, __src, __bos (__dest));
-}
-#endif
-#ifdef __cplusplus
__extern_always_inline char *
__NTH (strncat (char *__restrict __dest, __const char *__restrict __src,
size_t __len))
{
return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
}
-#else
-# define strncat(dest, src, len) \
- ((__bos (dest) != (size_t) -1) \
- ? __builtin___strncat_chk (dest, src, len, __bos (dest)) \
- : __strncat_ichk (dest, src, len))
-static __always_inline char *
-__NTH (__strncat_ichk (char *__restrict __dest, __const char *__restrict __src,
- size_t __len))
-{
- return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
-}
-#endif
Modified: fsf/trunk/libc/wcsmbs/bits/wchar2.h
==============================================================================
--- fsf/trunk/libc/wcsmbs/bits/wchar2.h (original)
+++ fsf/trunk/libc/wcsmbs/bits/wchar2.h Thu Oct 4 00:03:10 2007
@@ -274,10 +274,10 @@
__const wchar_t *__restrict __format, ...)
__THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */;
-extern int __REDIRECT_NTH (__swprintf_alias,
- (wchar_t *__restrict __s, size_t __n,
- __const wchar_t *__restrict __fmt, ...),
- swprintf);
+extern int __REDIRECT_NTH_LDBL (__swprintf_alias,
+ (wchar_t *__restrict __s, size_t __n,
+ __const wchar_t *__restrict __fmt, ...),
+ swprintf);
#ifdef __va_arg_pack
__extern_always_inline int
@@ -305,10 +305,10 @@
__gnuc_va_list __arg)
__THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
-extern int __REDIRECT_NTH (__vswprintf_alias,
- (wchar_t *__restrict __s, size_t __n,
- __const wchar_t *__restrict __fmt,
- __gnuc_va_list __ap), vswprintf);
+extern int __REDIRECT_NTH_LDBL (__vswprintf_alias,
+ (wchar_t *__restrict __s, size_t __n,
+ __const wchar_t *__restrict __fmt,
+ __gnuc_va_list __ap), vswprintf);
__extern_always_inline int
__NTH (vswprintf (wchar_t *__restrict __s, size_t __n,