Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2013-11-20 17:39:36 +0400
committerJoel Sherrill <joel.sherrill@oarcorp.com>2013-11-20 17:39:36 +0400
commita2c4eac5d02f3d35dc6c450b9f0bb6e71ce916cc (patch)
tree31190960e58cdcdebdbb8eb393e5e3b600c2b74e
parentc03063e2fccd0df6da9b6996c44bb720d6c41c49 (diff)
2013-11-20 Daniel Ramirez <javamonn@gmail.com>
* libc/iconv/lib/iconv.c, libc/include/iconv.h, libc/sys/linux/iconv/iconv.c: Add restrict keyword.
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libc/iconv/lib/iconv.c15
-rw-r--r--newlib/libc/include/iconv.h3
-rw-r--r--newlib/libc/sys/linux/iconv/iconv.c6
4 files changed, 19 insertions, 10 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index b740c8d30..92c156caa 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-20 Daniel Ramirez <javamonn@gmail.com>
+
+ * libc/iconv/lib/iconv.c, libc/include/iconv.h,
+ libc/sys/linux/iconv/iconv.c: Add restrict keyword.
+
2013-11-20 Corinna Vinschen <vinschen@redhat.com>
* libc/include/stdlib.h: Declare realpath only if !__STRICT_ANSI__.
diff --git a/newlib/libc/iconv/lib/iconv.c b/newlib/libc/iconv/lib/iconv.c
index 8bbcae192..f8673b7c6 100644
--- a/newlib/libc/iconv/lib/iconv.c
+++ b/newlib/libc/iconv/lib/iconv.c
@@ -45,9 +45,10 @@ ANSI_SYNOPSIS
#include <iconv.h>
iconv_t iconv_open (const char *<[to]>, const char *<[from]>);
int iconv_close (iconv_t <[cd]>);
- size_t iconv (iconv_t <[cd]>, char **<[inbuf]>,
- size_t *<[inbytesleft]>,
- char **<[outbuf]>, size_t *<[outbytesleft]>),
+ size_t iconv (iconv_t <[cd]>, char **__restrict<[inbuf]>,
+ size_t *__restrict<[inbytesleft]>,
+ char **__restrict<[outbuf]>,
+ size_t *__restrict<[outbytesleft]>),
iconv_t _iconv_open_r (struct _reent *<[rptr]>,
const char *<[to]>, const char *<[from]>);
@@ -168,10 +169,10 @@ _DEFUN(iconv_open, (to, from),
size_t
_DEFUN(iconv, (cd, inbuf, inbytesleft, outbuf, outbytesleft),
iconv_t cd _AND
- char **inbuf _AND
- size_t *inbytesleft _AND
- char **outbuf _AND
- size_t *outbytesleft)
+ char **__restrict inbuf _AND
+ size_t *__restrict inbytesleft _AND
+ char **__restrict outbuf _AND
+ size_t *__restrict outbytesleft)
{
return _iconv_r (_REENT, cd, (_CONST char **) inbuf, inbytesleft,
outbuf, outbytesleft);
diff --git a/newlib/libc/include/iconv.h b/newlib/libc/include/iconv.h
index c4a283afa..4c023e9df 100644
--- a/newlib/libc/include/iconv.h
+++ b/newlib/libc/include/iconv.h
@@ -41,7 +41,8 @@ iconv_t
_EXFUN(iconv_open, (_CONST char *, _CONST char *));
size_t
-_EXFUN(iconv, (iconv_t, char **, size_t *, char **, size_t *));
+_EXFUN(iconv, (iconv_t, char **__restrict, size_t *__restrict,
+ char **__restrict, size_t *__restrict));
int
_EXFUN(iconv_close, (iconv_t));
diff --git a/newlib/libc/sys/linux/iconv/iconv.c b/newlib/libc/sys/linux/iconv/iconv.c
index d0f5528f5..65c6cfc4e 100644
--- a/newlib/libc/sys/linux/iconv/iconv.c
+++ b/newlib/libc/sys/linux/iconv/iconv.c
@@ -29,8 +29,10 @@
size_t
-iconv (iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf,
- size_t *outbytesleft)
+iconv (iconv_t cd, char **__restrict inbuf,
+ size_t *__restrict inbytesleft,
+ char **__restrict outbuf,
+ size_t *__restrict outbytesleft)
{
__gconv_t gcd = (__gconv_t) cd;
char *outstart = outbuf ? *outbuf : NULL;