mirror of git://sourceware.org/git/glibc.git
Fix use of restrict in wchar.h
This commit is contained in:
parent
eaea92f137
commit
4f1972374a
|
|
@ -1,3 +1,11 @@
|
||||||
|
2010-12-10 Andreas Schwab <schwab@redhat.com>
|
||||||
|
|
||||||
|
* wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
|
||||||
|
* wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
|
||||||
|
Remove __restrict.
|
||||||
|
(wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy)
|
||||||
|
(wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict.
|
||||||
|
|
||||||
2010-12-09 Ulrich Drepper <drepper@gmail.com>
|
2010-12-09 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
[BZ #11655]
|
[BZ #11655]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Checking macros for wchar functions.
|
/* Checking macros for wchar functions.
|
||||||
Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
|
Copyright (C) 2005, 2006, 2007, 2010 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
|
@ -60,15 +60,13 @@ extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
|
||||||
__const wchar_t *__s2,
|
__const wchar_t *__s2,
|
||||||
size_t __n), wmemmove);
|
size_t __n), wmemmove);
|
||||||
extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
|
extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
|
||||||
(wchar_t *__restrict __s1,
|
(wchar_t *__s1, __const wchar_t *__s2,
|
||||||
__const wchar_t *__restrict __s2, size_t __n,
|
size_t __n, size_t __ns1), __wmemmove_chk)
|
||||||
size_t __ns1), __wmemmove_chk)
|
|
||||||
__warnattr ("wmemmove called with length bigger than size of destination "
|
__warnattr ("wmemmove called with length bigger than size of destination "
|
||||||
"buffer");
|
"buffer");
|
||||||
|
|
||||||
__extern_always_inline wchar_t *
|
__extern_always_inline wchar_t *
|
||||||
__NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
|
__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
|
||||||
size_t __n))
|
|
||||||
{
|
{
|
||||||
if (__bos0 (__s1) != (size_t) -1)
|
if (__bos0 (__s1) != (size_t) -1)
|
||||||
{
|
{
|
||||||
|
|
@ -129,7 +127,7 @@ extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn,
|
||||||
"buffer");
|
"buffer");
|
||||||
|
|
||||||
__extern_always_inline wchar_t *
|
__extern_always_inline wchar_t *
|
||||||
__NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
|
__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
|
||||||
{
|
{
|
||||||
if (__bos0 (__s) != (size_t) -1)
|
if (__bos0 (__s) != (size_t) -1)
|
||||||
{
|
{
|
||||||
|
|
@ -152,7 +150,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
|
||||||
__const wchar_t *__restrict __src), wcscpy);
|
__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))
|
__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
|
||||||
{
|
{
|
||||||
if (__bos (__dest) != (size_t) -1)
|
if (__bos (__dest) != (size_t) -1)
|
||||||
return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
||||||
|
|
@ -160,14 +158,15 @@ __NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src,
|
extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
|
||||||
|
__const wchar_t *__restrict __src,
|
||||||
size_t __destlen) __THROW;
|
size_t __destlen) __THROW;
|
||||||
extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
|
extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
|
||||||
__const wchar_t *__src),
|
(wchar_t *__restrict __dest,
|
||||||
wcpcpy);
|
__const wchar_t *__restrict __src), wcpcpy);
|
||||||
|
|
||||||
__extern_always_inline wchar_t *
|
__extern_always_inline wchar_t *
|
||||||
__NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
|
__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
|
||||||
{
|
{
|
||||||
if (__bos (__dest) != (size_t) -1)
|
if (__bos (__dest) != (size_t) -1)
|
||||||
return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
||||||
|
|
@ -190,7 +189,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn,
|
||||||
"buffer");
|
"buffer");
|
||||||
|
|
||||||
__extern_always_inline wchar_t *
|
__extern_always_inline wchar_t *
|
||||||
__NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
|
__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
|
||||||
|
size_t __n))
|
||||||
{
|
{
|
||||||
if (__bos (__dest) != (size_t) -1)
|
if (__bos (__dest) != (size_t) -1)
|
||||||
{
|
{
|
||||||
|
|
@ -220,7 +220,8 @@ extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn,
|
||||||
"buffer");
|
"buffer");
|
||||||
|
|
||||||
__extern_always_inline wchar_t *
|
__extern_always_inline wchar_t *
|
||||||
__NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
|
__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
|
||||||
|
size_t __n))
|
||||||
{
|
{
|
||||||
if (__bos (__dest) != (size_t) -1)
|
if (__bos (__dest) != (size_t) -1)
|
||||||
{
|
{
|
||||||
|
|
@ -243,7 +244,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
|
||||||
__const wchar_t *__restrict __src), wcscat);
|
__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))
|
__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
|
||||||
{
|
{
|
||||||
if (__bos (__dest) != (size_t) -1)
|
if (__bos (__dest) != (size_t) -1)
|
||||||
return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
|
||||||
|
|
@ -260,7 +261,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
|
||||||
size_t __n), wcsncat);
|
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))
|
__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
|
||||||
|
size_t __n))
|
||||||
{
|
{
|
||||||
if (__bos (__dest) != (size_t) -1)
|
if (__bos (__dest) != (size_t) -1)
|
||||||
return __wcsncat_chk (__dest, __src, __n,
|
return __wcsncat_chk (__dest, __src, __n,
|
||||||
|
|
@ -428,14 +430,16 @@ fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p,
|
extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
|
||||||
size_t __buflen) __THROW __wur;
|
mbstate_t *__restrict __p,
|
||||||
|
size_t __buflen) __THROW __wur;
|
||||||
extern size_t __REDIRECT_NTH (__wcrtomb_alias,
|
extern size_t __REDIRECT_NTH (__wcrtomb_alias,
|
||||||
(char *__restrict __s, wchar_t __wchar,
|
(char *__restrict __s, wchar_t __wchar,
|
||||||
mbstate_t *__restrict __ps), wcrtomb) __wur;
|
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))
|
__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
|
||||||
|
mbstate_t *__restrict __ps))
|
||||||
{
|
{
|
||||||
/* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
|
/* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
|
||||||
But this would only disturb the namespace. So we define our own
|
But this would only disturb the namespace. So we define our own
|
||||||
|
|
|
||||||
|
|
@ -561,11 +561,13 @@ extern long double wcstold_l (__const wchar_t *__restrict __nptr,
|
||||||
#ifdef __USE_XOPEN2K8
|
#ifdef __USE_XOPEN2K8
|
||||||
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
|
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
|
||||||
DEST. */
|
DEST. */
|
||||||
extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
|
extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
|
||||||
|
__const wchar_t *__restrict __src) __THROW;
|
||||||
|
|
||||||
/* Copy no more than N characters of SRC to DEST, returning the address of
|
/* Copy no more than N characters of SRC to DEST, returning the address of
|
||||||
the last character written into DEST. */
|
the last character written into DEST. */
|
||||||
extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
|
extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
|
||||||
|
__const wchar_t *__restrict __src, size_t __n)
|
||||||
__THROW;
|
__THROW;
|
||||||
#endif /* use GNU */
|
#endif /* use GNU */
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue