use restrict everywhere it's required by c99 and/or posix 2008
authorRich Felker <dalias@aerifal.cx>
Fri, 7 Sep 2012 02:44:55 +0000 (22:44 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 7 Sep 2012 02:44:55 +0000 (22:44 -0400)
to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.

192 files changed:
include/aio.h
include/arpa/inet.h
include/dirent.h
include/dlfcn.h
include/glob.h
include/iconv.h
include/inttypes.h
include/monetary.h
include/mqueue.h
include/netdb.h
include/pthread.h
include/regex.h
include/search.h
include/semaphore.h
include/signal.h
include/spawn.h
include/stdio.h
include/stdlib.h
include/string.h
include/sys/select.h
include/sys/socket.h
include/sys/stat.h
include/sys/statvfs.h
include/sys/time.h
include/time.h
include/unistd.h
include/wchar.h
include/wordexp.h
src/aio/lio_listio.c
src/dirent/readdir_r.c
src/ldso/dlsym.c
src/ldso/dynlink.c
src/locale/iconv.c
src/locale/strfmon.c
src/locale/strftime_l.c
src/locale/strxfrm.c
src/locale/strxfrm_l.c
src/locale/wcsxfrm.c
src/locale/wcsxfrm_l.c
src/misc/realpath.c
src/misc/wordexp.c
src/mq/mq_setattr.c
src/mq/mq_timedreceive.c
src/multibyte/mbrlen.c
src/multibyte/mbrtowc.c
src/multibyte/mbsnrtowcs.c
src/multibyte/mbsrtowcs.c
src/multibyte/mbstowcs.c
src/multibyte/mbtowc.c
src/multibyte/wcrtomb.c
src/multibyte/wcsnrtombs.c
src/multibyte/wcsrtombs.c
src/multibyte/wcstombs.c
src/network/accept.c
src/network/getaddrinfo.c
src/network/getnameinfo.c
src/network/getpeername.c
src/network/getsockname.c
src/network/getsockopt.c
src/network/inet_ntop.c
src/network/inet_pton.c
src/network/recvfrom.c
src/process/posix_spawn.c
src/process/posix_spawn_file_actions_addopen.c
src/process/posix_spawnattr_getflags.c
src/process/posix_spawnattr_getpgroup.c
src/process/posix_spawnattr_getsigdefault.c
src/process/posix_spawnattr_getsigmask.c
src/process/posix_spawnattr_setsigdefault.c
src/process/posix_spawnattr_setsigmask.c
src/process/posix_spawnp.c
src/regex/glob.c
src/regex/regcomp.c
src/regex/regerror.c
src/regex/regexec.c
src/select/pselect.c
src/select/select.c
src/signal/setitimer.c
src/signal/sigaction.c
src/signal/sigaltstack.c
src/signal/sigprocmask.c
src/signal/sigtimedwait.c
src/signal/sigwait.c
src/signal/sigwaitinfo.c
src/stat/fstatat.c
src/stat/lstat.c
src/stat/stat.c
src/stat/statvfs.c
src/stdio/dprintf.c
src/stdio/fgetpos.c
src/stdio/fgets.c
src/stdio/fgetws.c
src/stdio/fmemopen.c
src/stdio/fopen.c
src/stdio/fprintf.c
src/stdio/fputs.c
src/stdio/fputws.c
src/stdio/fread.c
src/stdio/freopen.c
src/stdio/fscanf.c
src/stdio/fwprintf.c
src/stdio/fwrite.c
src/stdio/fwscanf.c
src/stdio/getdelim.c
src/stdio/getline.c
src/stdio/printf.c
src/stdio/scanf.c
src/stdio/setbuf.c
src/stdio/setvbuf.c
src/stdio/snprintf.c
src/stdio/sprintf.c
src/stdio/sscanf.c
src/stdio/swprintf.c
src/stdio/swscanf.c
src/stdio/vdprintf.c
src/stdio/vfprintf.c
src/stdio/vfscanf.c
src/stdio/vfwprintf.c
src/stdio/vfwscanf.c
src/stdio/vprintf.c
src/stdio/vscanf.c
src/stdio/vsnprintf.c
src/stdio/vsprintf.c
src/stdio/vsscanf.c
src/stdio/vswprintf.c
src/stdio/vswscanf.c
src/stdio/vwprintf.c
src/stdio/vwscanf.c
src/stdio/wprintf.c
src/stdio/wscanf.c
src/stdlib/strtod.c
src/stdlib/strtol.c
src/stdlib/wcstod.c
src/stdlib/wcstol.c
src/string/memccpy.c
src/string/memcpy.c
src/string/stpcpy.c
src/string/stpncpy.c
src/string/strcat.c
src/string/strcpy.c
src/string/strncat.c
src/string/strncpy.c
src/string/strtok.c
src/string/strtok_r.c
src/string/swab.c
src/string/wcpcpy.c
src/string/wcpncpy.c
src/string/wcscat.c
src/string/wcscpy.c
src/string/wcsncat.c
src/string/wcsncpy.c
src/string/wcsstr.c
src/string/wcstok.c
src/string/wmemcpy.c
src/thread/pthread_attr_getguardsize.c
src/thread/pthread_attr_getschedparam.c
src/thread/pthread_attr_getscope.c
src/thread/pthread_attr_getstack.c
src/thread/pthread_attr_getstacksize.c
src/thread/pthread_attr_setschedparam.c
src/thread/pthread_barrier_init.c
src/thread/pthread_barrierattr_getpshared.c
src/thread/pthread_cond_init.c
src/thread/pthread_cond_timedwait.c
src/thread/pthread_cond_wait.c
src/thread/pthread_condattr_getclock.c
src/thread/pthread_condattr_getpshared.c
src/thread/pthread_create.c
src/thread/pthread_mutex_init.c
src/thread/pthread_mutex_timedlock.c
src/thread/pthread_mutexattr_getpshared.c
src/thread/pthread_mutexattr_getrobust.c
src/thread/pthread_mutexattr_gettype.c
src/thread/pthread_rwlock_init.c
src/thread/pthread_rwlock_timedrdlock.c
src/thread/pthread_rwlock_timedwrlock.c
src/thread/pthread_rwlockattr_getpshared.c
src/thread/pthread_sigmask.c
src/thread/sem_getvalue.c
src/thread/sem_timedwait.c
src/time/__asctime.c
src/time/asctime_r.c
src/time/gettimeofday.c
src/time/gmtime_r.c
src/time/localtime_r.c
src/time/strftime.c
src/time/strptime.c
src/time/timer_create.c
src/time/timer_settime.c
src/time/wcsftime.c
src/unistd/readlink.c
src/unistd/readlinkat.c

index 2edd5a2e52fc6b66a8247008970098ef862f392b..3e351348c79e4d32c7ca18b5702f79a86da75f1d 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #include <signal.h>
 #include <time.h>
 
@@ -46,7 +52,7 @@ int aio_cancel(int, struct aiocb *);
 int aio_suspend(const struct aiocb *const [], int, const struct timespec *);
 int aio_fsync(int, struct aiocb *);
 
-int lio_listio(int, struct aiocb *const [], int, struct sigevent *);
+int lio_listio(int, struct aiocb *__restrict const *__restrict, int, struct sigevent *__restrict);
 
 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
 #define aiocb64 aiocb
index b604f60b18006896e30a2407591655cf5bea8395..82e2ac1bf4afaf149e77924663f0427b12044b76 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #include <netinet/in.h>
 #include <inttypes.h>
 
@@ -24,8 +30,8 @@ uint16_t ntohs(uint16_t);
 
 in_addr_t inet_addr (const char *);
 char *inet_ntoa (struct in_addr);
-int inet_pton (int, const char *, void *);
-const char *inet_ntop (int, const void *, char *, socklen_t);
+int inet_pton (int, const char *__restrict, void *__restrict);
+const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
 
 int inet_aton (const char *, struct in_addr *); /* nonstandard but widely used */
 
index c19f7d58089a54758dce4204ce8105ee71521a4b..b6261595a7420a0fc0b0cfbd29af00c0cf08d282 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_ino_t
 #define __NEED_off_t
 #ifdef _BSD_SOURCE
@@ -30,7 +36,7 @@ int            closedir(DIR *);
 DIR           *fdopendir(int);
 DIR           *opendir(const char *);
 struct dirent *readdir(DIR *);
-int            readdir_r(DIR *, struct dirent *, struct dirent **);
+int            readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict);
 void           rewinddir(DIR *);
 void           seekdir(DIR *, long);
 long           telldir(DIR *);
index e98c8ca616a842fa5aa782ea2016681d2bb4cece..2e7d0283c237bf3e955581bd339d675983bab53e 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define RTLD_LAZY   1
 #define RTLD_NOW    2
 #define RTLD_GLOBAL 256
@@ -16,7 +22,7 @@ extern "C" {
 int    dlclose(void *);
 char  *dlerror(void);
 void  *dlopen(const char *, int);
-void  *dlsym(void *, const char *);
+void  *dlsym(void *__restrict, const char *__restrict);
 
 #ifdef _GNU_SOURCE
 typedef struct {
index 376baa712429a639cff6f6a21ebcd2a0e7ab398e..c49a2dea33491ab9eb16c8f79123917c3abc6314 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_size_t
 
 #include <bits/alltypes.h>
@@ -17,7 +23,7 @@ typedef struct {
        void *__dummy2[5];
 } glob_t;
 
-int  glob(const char *, int, int (*)(const char *, int), glob_t *);
+int  glob(const char *__restrict, int, int (*)(const char *, int), glob_t *__restrict);
 void globfree(glob_t *);
 
 #define GLOB_ERR      0x01
index f2ccaf8c3e7a2ca2939e8c200922869aaba4f6d4..cef06f604953fede48996271e60f3db89de9f8d7 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_size_t
 
 #include <bits/alltypes.h>
@@ -12,7 +18,7 @@ extern "C" {
 typedef void *iconv_t;
 
 iconv_t iconv_open(const char *, const char *);
-size_t iconv(iconv_t, char **, size_t *, char **, size_t *);
+size_t iconv(iconv_t, char **__restrict, size_t *__restrict, char **__restrict, size_t *__restrict);
 int iconv_close(iconv_t);
 
 #ifdef __cplusplus
index 13ba6e0f7f24ac7e36a01654e5c4bf39f489057c..23acc5bec142e2acc041f654e2ec434a144efd31 100644 (file)
@@ -10,16 +10,22 @@ extern "C" {
 #define __NEED_wchar_t
 #include <bits/alltypes.h>
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 typedef struct { intmax_t quot, rem; } imaxdiv_t;
 
 intmax_t imaxabs(intmax_t);
 imaxdiv_t imaxdiv(intmax_t, intmax_t);
 
-intmax_t strtoimax(const char *, char **, int);
-uintmax_t strtoumax(const char *, char **, int);
+intmax_t strtoimax(const char *__restrict, char **__restrict, int);
+uintmax_t strtoumax(const char *__restrict, char **__restrict, int);
 
-intmax_t wcstoimax(const wchar_t *, wchar_t **, int);
-uintmax_t wcstoumax(const wchar_t *, wchar_t **, int);
+intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int);
+uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int);
 
 #if !defined __cplusplus || defined __STDC_FORMAT_MACROS
 
index df904eb072fba4047d6f497719b12c1e48a97118..11dabb2341f4687424ba10ed50eff2eddf078fe8 100644 (file)
@@ -5,14 +5,20 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_ssize_t
 #define __NEED_size_t
 #define __NEED_locale_t
 
 #include <bits/alltypes.h>
 
-ssize_t strfmon(char *, size_t, const char *, ...);
-ssize_t strfmon_l(char *, size_t, locale_t, const char *, ...);
+ssize_t strfmon(char *__restrict, size_t, const char *__restrict, ...);
+ssize_t strfmon_l(char *__restrict, size_t, locale_t, const char *__restrict, ...);
 
 #ifdef __cplusplus
 }
index 92e6ae5ee0de4538bb001ccf3019efad5a822fb3..bd35842c42ca7f5b42e11b1625dbb5ea3c33601e 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_size_t
 #define __NEED_ssize_t
 #define __NEED_pthread_attr_t
@@ -23,8 +29,8 @@ int mq_notify(mqd_t, const struct sigevent *);
 mqd_t mq_open(const char *, int, ...);
 ssize_t mq_receive(mqd_t, char *, size_t, unsigned *);
 int mq_send(mqd_t, const char *, size_t, unsigned);
-int mq_setattr(mqd_t, const struct mq_attr *, struct mq_attr *);
-ssize_t mq_timedreceive(mqd_t, char *, size_t, unsigned *, const struct timespec *);
+int mq_setattr(mqd_t, const struct mq_attr *__restrict, struct mq_attr *__restrict);
+ssize_t mq_timedreceive(mqd_t, char *__restrict, size_t, unsigned *__restrict, const struct timespec *__restrict);
 int mq_timedsend(mqd_t, const char *, size_t, unsigned, const struct timespec *);
 int mq_unlink(const char *);
 
index 42a4b6828155f2b187350f8c00b243820857b9c0..d915d9d501329777edd216f538fbe1619f4544ed 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 #define __NEED_size_t
 #endif
@@ -55,9 +61,9 @@ struct addrinfo
 #define EAI_SYSTEM     -11
 #define EAI_OVERFLOW   -12
 
-int getaddrinfo (const char *, const char *, const struct addrinfo *, struct addrinfo **);
+int getaddrinfo (const char *__restrict, const char *__restrict, const struct addrinfo *__restrict, struct addrinfo **__restrict);
 void freeaddrinfo (struct addrinfo *);
-int getnameinfo (const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int);
+int getnameinfo (const struct sockaddr *__restrict, socklen_t, char *__restrict, socklen_t, char *__restrict, socklen_t, int);
 const char *gai_strerror(int);
 
 
index d4ffb9ab0916715d103d8b2478b2cb7f88097ee7..417156c883d56481d34085f68155a22cbd0460c0 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_time_t
 #define __NEED_clockid_t
 #define __NEED_struct_timespec
@@ -71,7 +77,7 @@ extern "C" {
 #define PTHREAD_BARRIER_SERIAL_THREAD (-1)
 
 
-int pthread_create(pthread_t *, const pthread_attr_t *, void *(*)(void *), void *);
+int pthread_create(pthread_t *__restrict, const pthread_attr_t *__restrict, void *(*)(void *), void *__restrict);
 int pthread_detach(pthread_t);
 void pthread_exit(void *);
 int pthread_join(pthread_t, void **);
@@ -91,29 +97,29 @@ int pthread_cancel(pthread_t);
 
 int pthread_once(pthread_once_t *, void (*)(void));
 
-int pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *);
+int pthread_mutex_init(pthread_mutex_t *__restrict, const pthread_mutexattr_t *__restrict);
 int pthread_mutex_lock(pthread_mutex_t *);
 int pthread_mutex_unlock(pthread_mutex_t *);
 int pthread_mutex_trylock(pthread_mutex_t *);
-int pthread_mutex_timedlock(pthread_mutex_t *, const struct timespec *);
+int pthread_mutex_timedlock(pthread_mutex_t *__restrict, const struct timespec *__restrict);
 int pthread_mutex_destroy(pthread_mutex_t *);
 int pthread_mutex_consistent(pthread_mutex_t *);
 
-int pthread_cond_init(pthread_cond_t *, const pthread_condattr_t *);
+int pthread_cond_init(pthread_cond_t *__restrict, const pthread_condattr_t *__restrict);
 int pthread_cond_destroy(pthread_cond_t *);
-int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *);
-int pthread_cond_timedwait(pthread_cond_t *, pthread_mutex_t *, const struct timespec *);
+int pthread_cond_wait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict);
+int pthread_cond_timedwait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict, const struct timespec *__restrict);
 int pthread_cond_broadcast(pthread_cond_t *);
 int pthread_cond_signal(pthread_cond_t *);
 
-int pthread_rwlock_init(pthread_rwlock_t *, const pthread_rwlockattr_t *);
+int pthread_rwlock_init(pthread_rwlock_t *__restrict, const pthread_rwlockattr_t *__restrict);
 int pthread_rwlock_destroy(pthread_rwlock_t *);
 int pthread_rwlock_rdlock(pthread_rwlock_t *);
 int pthread_rwlock_tryrdlock(pthread_rwlock_t *);
-int pthread_rwlock_timedrdlock(pthread_rwlock_t *, const struct timespec *);
+int pthread_rwlock_timedrdlock(pthread_rwlock_t *__restrict, const struct timespec *__restrict);
 int pthread_rwlock_wrlock(pthread_rwlock_t *);
 int pthread_rwlock_trywrlock(pthread_rwlock_t *);
-int pthread_rwlock_timedwrlock(pthread_rwlock_t *, const struct timespec *);
+int pthread_rwlock_timedwrlock(pthread_rwlock_t *__restrict, const struct timespec *__restrict);
 int pthread_rwlock_unlock(pthread_rwlock_t *);
 
 int pthread_spin_init(pthread_spinlock_t *, int);
@@ -122,7 +128,7 @@ int pthread_spin_lock(pthread_spinlock_t *);
 int pthread_spin_trylock(pthread_spinlock_t *);
 int pthread_spin_unlock(pthread_spinlock_t *);
 
-int pthread_barrier_init(pthread_barrier_t *, const pthread_barrierattr_t *, unsigned);
+int pthread_barrier_init(pthread_barrier_t *__restrict, const pthread_barrierattr_t *__restrict, unsigned);
 int pthread_barrier_destroy(pthread_barrier_t *);
 int pthread_barrier_wait(pthread_barrier_t *);
 
@@ -134,29 +140,29 @@ int pthread_setspecific(pthread_key_t, const void *);
 int pthread_attr_init(pthread_attr_t *);
 int pthread_attr_destroy(pthread_attr_t *);
 
-int pthread_attr_getguardsize(const pthread_attr_t *, size_t *);
+int pthread_attr_getguardsize(const pthread_attr_t *__restrict, size_t *__restrict);
 int pthread_attr_setguardsize(pthread_attr_t *, size_t);
-int pthread_attr_getstacksize(const pthread_attr_t *, size_t *);
+int pthread_attr_getstacksize(const pthread_attr_t *__restrict, size_t *__restrict);
 int pthread_attr_setstacksize(pthread_attr_t *, size_t);
 int pthread_attr_getdetachstate(const pthread_attr_t *, int *);
 int pthread_attr_setdetachstate(pthread_attr_t *, int);
-int pthread_attr_getstack(const pthread_attr_t *, void **, size_t *);
+int pthread_attr_getstack(const pthread_attr_t *__restrict, void **__restrict, size_t *__restrict);
 int pthread_attr_setstack(pthread_attr_t *, void *, size_t);
-int pthread_attr_getscope(const pthread_attr_t *, int *);
+int pthread_attr_getscope(const pthread_attr_t *__restrict, int *__restrict);
 int pthread_attr_setscope(pthread_attr_t *, int);
-int pthread_attr_getschedpolicy(const pthread_attr_t *, int *);
+int pthread_attr_getschedpolicy(const pthread_attr_t *__restrict, int *__restrict);
 int pthread_attr_setschedpolicy(pthread_attr_t *, int);
-int pthread_attr_getschedparam(const pthread_attr_t *, struct sched_param *);
-int pthread_attr_setschedparam(pthread_attr_t *, const struct sched_param *);
-int pthread_attr_getinheritsched(const pthread_attr_t *, int *);
+int pthread_attr_getschedparam(const pthread_attr_t *__restrict, struct sched_param *__restrict);
+int pthread_attr_setschedparam(pthread_attr_t *__restrict, const struct sched_param *__restrict);
+int pthread_attr_getinheritsched(const pthread_attr_t *__restrict, int *__restrict);
 int pthread_attr_setinheritsched(pthread_attr_t *, int);
 
 int pthread_mutexattr_destroy(pthread_mutexattr_t *);
-int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *, int *);
-int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *, int *);
-int pthread_mutexattr_getpshared(const pthread_mutexattr_t *, int *);
-int pthread_mutexattr_getrobust(const pthread_mutexattr_t *, int *);
-int pthread_mutexattr_gettype(const pthread_mutexattr_t *, int *);
+int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *__restrict, int *__restrict);
+int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *__restrict, int *__restrict);
+int pthread_mutexattr_getpshared(const pthread_mutexattr_t *__restrict, int *__restrict);
+int pthread_mutexattr_getrobust(const pthread_mutexattr_t *__restrict, int *__restrict);
+int pthread_mutexattr_gettype(const pthread_mutexattr_t *__restrict, int *__restrict);
 int pthread_mutexattr_init(pthread_mutexattr_t *);
 int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int);
 int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int);
@@ -168,16 +174,16 @@ int pthread_condattr_init(pthread_condattr_t *);
 int pthread_condattr_destroy(pthread_condattr_t *);
 int pthread_condattr_setclock(pthread_condattr_t *, clockid_t);
 int pthread_condattr_setpshared(pthread_condattr_t *, int);
-int pthread_condattr_getclock(const pthread_condattr_t *, clockid_t *);
-int pthread_condattr_getpshared(const pthread_condattr_t *, int *);
+int pthread_condattr_getclock(const pthread_condattr_t *__restrict, clockid_t *__restrict);
+int pthread_condattr_getpshared(const pthread_condattr_t *__restrict, int *__restrict);
 
 int pthread_rwlockattr_init(pthread_rwlockattr_t *);
 int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
 int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int);
-int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, int *);
+int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *__restrict, int *__restrict);
 
 int pthread_barrierattr_destroy(pthread_barrierattr_t *);
-int pthread_barrierattr_getpshared(const pthread_barrierattr_t *, int *);
+int pthread_barrierattr_getpshared(const pthread_barrierattr_t *__restrict, int *__restrict);
 int pthread_barrierattr_init(pthread_barrierattr_t *);
 int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int);
 
index d57208a561e66a74129c63076bad599df2d567bf..b7167b876e1a689bd3faaeb12aedffb534d4d25c 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_size_t
 
 #include <bits/alltypes.h>
@@ -47,11 +53,11 @@ typedef struct {
 
 #define REG_ENOSYS      -1
 
-int regcomp(regex_t *, const char *, int);
-int regexec(const regex_t *, const char *, size_t, regmatch_t [], int);
+int regcomp(regex_t *__restrict, const char *__restrict, int);
+int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int);
 void regfree(regex_t *);
 
-size_t regerror(int, const regex_t *, char *, size_t);
+size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t);
 
 #ifdef __cplusplus
 }
index 7c4fc583c762956e906f232ec429ad6ff52e03b9..680eee75a15583a054e79fc7056ad62f3d9a906e 100644 (file)
@@ -5,6 +5,13 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
+
 #define __NEED_size_t
 #include <bits/alltypes.h>
 
@@ -28,7 +35,7 @@ void *lsearch(const void *, void *, size_t *, size_t,
 void *lfind(const void *, const void *, size_t *, size_t,
        int (*)(const void *, const void *));
 
-void *tdelete(const void *, void **, int(*)(const void *, const void *));
+void *tdelete(const void *__restrict, void **__restrict, int(*)(const void *, const void *));
 void *tfind(const void *, void *const *, int(*)(const void *, const void *));
 void *tsearch(const void *, void **, int (*)(const void *, const void *));
 void twalk(const void *, void (*)(const void *, VISIT, int));
index 2e9b81005abe2618d3947044edca4fe36cd577a2..724957fbe44635b2e080149908fec5035f7c8e5b 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_time_t
 #define __NEED_struct_timespec
 #include <bits/alltypes.h>
@@ -18,11 +24,11 @@ typedef struct {
 
 int    sem_close(sem_t *);
 int    sem_destroy(sem_t *);
-int    sem_getvalue(sem_t *, int *);
+int    sem_getvalue(sem_t *__restrict, int *__restrict);
 int    sem_init(sem_t *, int, unsigned);
 sem_t *sem_open(const char *, int, ...);
 int    sem_post(sem_t *);
-int    sem_timedwait(sem_t *, const struct timespec *);
+int    sem_timedwait(sem_t *__restrict, const struct timespec *__restrict);
 int    sem_trywait(sem_t *);
 int    sem_unlink(const char *);
 int    sem_wait(sem_t *);
index d4856a890c6b38617045642cb7853626f3720e9f..e0dae19215951aa19188bffbdea0731c9cfa4884 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
@@ -165,16 +171,16 @@ int sigaddset(sigset_t *, int);
 int sigdelset(sigset_t *, int);
 int sigismember(const sigset_t *, int);
 
-int sigprocmask(int, const sigset_t *, sigset_t *);
+int sigprocmask(int, const sigset_t *__restrict, sigset_t *__restrict);
 int sigsuspend(const sigset_t *);
-int sigaction(int, const struct sigaction *, struct sigaction *);
+int sigaction(int, const struct sigaction *__restrict, struct sigaction *__restrict);
 int sigpending(sigset_t *);
-int sigwait(const sigset_t *, int *);
-int sigwaitinfo(const sigset_t *, siginfo_t *);
-int sigtimedwait(const sigset_t *, siginfo_t *, const struct timespec *);
+int sigwait(const sigset_t *__restrict, int *__restrict);
+int sigwaitinfo(const sigset_t *__restrict, siginfo_t *__restrict);
+int sigtimedwait(const sigset_t *__restrict, siginfo_t *__restrict, const struct timespec *__restrict);
 int sigqueue(pid_t, int, const union sigval);
 
-int pthread_sigmask(int, const sigset_t *, sigset_t *);
+int pthread_sigmask(int, const sigset_t *__restrict, sigset_t *__restrict);
 int pthread_kill(pthread_t, int);
 
 void psiginfo(const siginfo_t *, const char *);
@@ -184,7 +190,7 @@ void psignal(int, const char *);
 
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 int killpg(pid_t, int);
-int sigaltstack(const stack_t *, stack_t *);
+int sigaltstack(const stack_t *__restrict, stack_t *__restrict);
 int sighold(int);
 int sigignore(int);
 int siginterrupt(int, int);
index 99ec6f1d59113d8b4f18acab7771522f589fa785..c934d4238851da5345d76d912d5900ae345259ec 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_mode_t
 #define __NEED_pid_t
 #define __NEED_sigset_t
@@ -33,30 +39,30 @@ typedef struct {
        int __pad[16];
 } posix_spawn_file_actions_t;
 
-int posix_spawn(pid_t *, const char *, const posix_spawn_file_actions_t *,
-       const posix_spawnattr_t *, char *const [], char *const []);
-int posix_spawnp(pid_t *, const char *, const posix_spawn_file_actions_t *,
-       const posix_spawnattr_t *, char *const [], char *const []);
+int posix_spawn(pid_t *__restrict, const char *__restrict, const posix_spawn_file_actions_t *,
+       const posix_spawnattr_t *__restrict, char *const *__restrict, char *const *__restrict);
+int posix_spawnp(pid_t *__restrict, const char *__restrict, const posix_spawn_file_actions_t *,
+       const posix_spawnattr_t *__restrict, char *const *__restrict, char *const *__restrict);
 
 int posix_spawnattr_init(posix_spawnattr_t *);
 int posix_spawnattr_destroy(posix_spawnattr_t *);
 
 int posix_spawnattr_setflags(posix_spawnattr_t *, short);
-int posix_spawnattr_getflags(const posix_spawnattr_t *, short *);
+int posix_spawnattr_getflags(const posix_spawnattr_t *__restrict, short *__restrict);
 
 int posix_spawnattr_setpgroup(posix_spawnattr_t *, pid_t);
-int posix_spawnattr_getpgroup(const posix_spawnattr_t *, pid_t *);
+int posix_spawnattr_getpgroup(const posix_spawnattr_t *__restrict, pid_t *__restrict);
 
-int posix_spawnattr_setsigmask(posix_spawnattr_t *, const sigset_t *);
-int posix_spawnattr_getsigmask(const posix_spawnattr_t *, sigset_t *);
+int posix_spawnattr_setsigmask(posix_spawnattr_t *__restrict, const sigset_t *__restrict);
+int posix_spawnattr_getsigmask(const posix_spawnattr_t *__restrict, sigset_t *__restrict);
 
-int posix_spawnattr_setsigdefault(posix_spawnattr_t *, const sigset_t *);
-int posix_spawnattr_getsigdefault(const posix_spawnattr_t *, sigset_t *);
+int posix_spawnattr_setsigdefault(posix_spawnattr_t *__restrict, const sigset_t *__restrict);
+int posix_spawnattr_getsigdefault(const posix_spawnattr_t *__restrict, sigset_t *__restrict);
 
 int posix_spawn_file_actions_init(posix_spawn_file_actions_t *);
 int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *);
 
-int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *, int, const char *, int, mode_t);
+int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *__restrict, int, const char *__restrict, int, mode_t);
 int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int);
 int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int, int);
 
index 9aa2f782627ca8acbfcc76a472388d942de1b902..7d3130e2c8dc00328944b132cfde3c252f34de7e 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_FILE
 #define __NEED_va_list
 #define __NEED_size_t
@@ -58,8 +64,8 @@ extern FILE *const stderr;
 #define stdout (stdout)
 #define stderr (stderr)
 
-FILE *fopen(const char *, const char *);
-FILE *freopen(const char *, const char *, FILE *);
+FILE *fopen(const char *__restrict, const char *__restrict);
+FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict);
 int fclose(FILE *);
 
 int remove(const char *);
@@ -74,11 +80,11 @@ int fseek(FILE *, long, int);
 long ftell(FILE *);
 void rewind(FILE *);
 
-int fgetpos(FILE *, fpos_t *);
+int fgetpos(FILE *__restrict, fpos_t *__restrict);
 int fsetpos(FILE *, const fpos_t *);
 
-size_t fread(void *, size_t, size_t, FILE *);
-size_t fwrite(const void *, size_t, size_t, FILE *);
+size_t fread(void *__restrict, size_t, size_t, FILE *__restrict);
+size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict);
 
 int fgetc(FILE *);
 int getc(FILE *);
@@ -89,35 +95,35 @@ int fputc(int, FILE *);
 int putc(int, FILE *);
 int putchar(int);
 
-char *fgets(char *, int, FILE *);
+char *fgets(char *__restrict, int, FILE *__restrict);
 #if __STDC_VERSION__ < 201112L
 char *gets(char *);
 #endif
 
-int fputs(const char *, FILE *);
+int fputs(const char *__restrict, FILE *__restrict);
 int puts(const char *);
 
-int printf(const char *, ...);
-int fprintf(FILE *, const char *, ...);
-int sprintf(char *, const char *, ...);
-int snprintf(char *, size_t, const char *, ...);
+int printf(const char *__restrict, ...);
+int fprintf(FILE *__restrict, const char *__restrict, ...);
+int sprintf(char *__restrict, const char *__restrict, ...);
+int snprintf(char *__restrict, size_t, const char *__restrict, ...);
 
-int vprintf(const char *, va_list);
-int vfprintf(FILE *, const char *, va_list);
-int vsprintf(char *, const char *, va_list);
-int vsnprintf(char *, size_t, const char *, va_list);
+int vprintf(const char *__restrict, va_list);
+int vfprintf(FILE *__restrict, const char *__restrict, va_list);
+int vsprintf(char *__restrict, const char *__restrict, va_list);
+int vsnprintf(char *__restrict, size_t, const char *__restrict, va_list);
 
-int scanf(const char *, ...);
-int fscanf(FILE *, const char *, ...);
-int sscanf(const char *, const char *, ...);
-int vscanf(const char *, va_list);
-int vfscanf(FILE *, const char *, va_list);
-int vsscanf(const char *, const char *, va_list);
+int scanf(const char *__restrict, ...);
+int fscanf(FILE *__restrict, const char *__restrict, ...);
+int sscanf(const char *__restrict, const char *__restrict, ...);
+int vscanf(const char *__restrict, va_list);
+int vfscanf(FILE *__restrict, const char *__restrict, va_list);
+int vsscanf(const char *__restrict, const char *__restrict, va_list);
 
 void perror(const char *);
 
-int setvbuf(FILE *, char *, int, size_t);
-void setbuf(FILE *, char *);
+int setvbuf(FILE *__restrict, char *__restrict, int, size_t);
+void setbuf(FILE *__restrict, char *__restrict);
 
 char *tmpnam(char *);
 FILE *tmpfile(void);
@@ -125,7 +131,7 @@ FILE *tmpfile(void);
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
-FILE *fmemopen(void *, size_t, const char *);
+FILE *fmemopen(void *__restrict, size_t, const char *__restrict);
 FILE *open_memstream(char **, size_t *);
 FILE *fdopen(int, const char *);
 FILE *popen(const char *, const char *);
@@ -133,8 +139,8 @@ int pclose(FILE *);
 int fileno(FILE *);
 int fseeko(FILE *, off_t, int);
 off_t ftello(FILE *);
-int dprintf(int, const char *, ...);
-int vdprintf(int, const char *, va_list);
+int dprintf(int, const char *__restrict, ...);
+int vdprintf(int, const char *__restrict, va_list);
 void flockfile(FILE *);
 int ftrylockfile(FILE *);
 void funlockfile(FILE *);
@@ -142,8 +148,8 @@ int getc_unlocked(FILE *);
 int getchar_unlocked(void);
 int putc_unlocked(int, FILE *);
 int putchar_unlocked(int);
-ssize_t getdelim(char **, size_t *, int, FILE *);
-ssize_t getline(char **, size_t *, FILE *);
+ssize_t getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict);
+ssize_t getline(char **__restrict, size_t *__restrict, FILE *__restrict);
 int renameat(int, const char *, int, const char *);
 char *ctermid(char *);
 #define L_ctermid 20
index 1749cb3b8c10b520cc32f76fbfb59b2fbfc13ae8..14cc71bba4bff428854bd77bb9a5af7fe9e08673 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #undef NULL
 #ifdef __cplusplus
 #define NULL 0
@@ -22,14 +28,14 @@ long atol (const char *);
 long long atoll (const char *);
 double atof (const char *);
 
-float strtof (const char *, char **);
-double strtod (const char *, char **);
-long double strtold (const char *, char **);
+float strtof (const char *__restrict, char **__restrict);
+double strtod (const char *__restrict, char **__restrict);
+long double strtold (const char *__restrict, char **__restrict);
 
-long strtol (const char *, char **, int);
-unsigned long strtoul (const char *, char **, int);
-long long strtoll (const char *, char **, int);
-unsigned long long strtoull (const char *, char **, int);
+long strtol (const char *__restrict, char **__restrict, int);
+unsigned long strtoul (const char *__restrict, char **__restrict, int);
+long long strtoll (const char *__restrict, char **__restrict, int);
+unsigned long long strtoull (const char *__restrict, char **__restrict, int);
 
 int rand (void);
 void srand (unsigned);
@@ -67,10 +73,10 @@ ldiv_t ldiv (long, long);
 lldiv_t lldiv (long long, long long);
 
 int mblen (const char *, size_t);
-int mbtowc (wchar_t *, const char *, size_t);
+int mbtowc (wchar_t *__restrict, const char *__restrict, size_t);
 int wctomb (char *, wchar_t);
-size_t mbstowcs (wchar_t *, const char *, size_t);
-size_t wcstombs (char *, const wchar_t *, size_t);
+size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t);
+size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t);
 
 #define EXIT_FAILURE 1
 #define EXIT_SUCCESS 0
@@ -108,7 +114,7 @@ int rand_r (unsigned *);
 
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
-char *realpath (const char *, char *);
+char *realpath (const char *__restrict, char *__restrict);
 long int random (void);
 void srandom (unsigned int);
 char *initstate (unsigned int, char *, size_t);
index 24cb1ca3f4ec6b5120ccd71fbff6d203e57ca676..f96f71ee0b5731fcc869bf00efca589efc8c4c95 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #undef NULL
 #ifdef __cplusplus
 #define NULL 0
@@ -21,23 +27,23 @@ extern "C" {
 
 #include <bits/alltypes.h>
 
-void *memcpy (void *, const void *, size_t);
+void *memcpy (void *__restrict, const void *__restrict, size_t);
 void *memmove (void *, const void *, size_t);
 void *memset (void *, int, size_t);
 int memcmp (const void *, const void *, size_t);
 void *memchr (const void *, int, size_t);
 
-char *strcpy (char *, const char *);
-char *strncpy (char *, const char *, size_t);
+char *strcpy (char *__restrict, const char *__restrict);
+char *strncpy (char *__restrict, const char *__restrict, size_t);
 
-char *strcat (char *, const char *);
-char *strncat (char *, const char *, size_t);
+char *strcat (char *__restrict, const char *__restrict);
+char *strncat (char *__restrict, const char *__restrict, size_t);
 
 int strcmp (const char *, const char *);
 int strncmp (const char *, const char *, size_t);
 
 int strcoll (const char *, const char *);
-size_t strxfrm (char *, const char *, size_t);
+size_t strxfrm (char *__restrict, const char *__restrict, size_t);
 
 char *strchr (const char *, int);
 char *strrchr (const char *, int);
@@ -46,7 +52,7 @@ size_t strcspn (const char *, const char *);
 size_t strspn (const char *, const char *);
 char *strpbrk (const char *, const char *);
 char *strstr (const char *, const char *);
-char *strtok (char *, const char *);
+char *strtok (char *__restrict, const char *__restrict);
 
 size_t strlen (const char *);
 
@@ -59,22 +65,22 @@ char *strerror (int);
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
-char *strtok_r (char *, const char *, char **);
+char *strtok_r (char *__restrict, const char *__restrict, char **__restrict);
 int strerror_r (int, char *, size_t);
-char *stpcpy(char *, const char *);
-char *stpncpy(char *, const char *, size_t);
+char *stpcpy(char *__restrict, const char *__restrict);
+char *stpncpy(char *__restrict, const char *__restrict, size_t);
 size_t strnlen (const char *, size_t);
 char *strdup (const char *);
 char *strndup (const char *, size_t);
 char *strsignal(int);
 char *strerror_l (int, locale_t);
 int strcoll_l (const char *, const char *, locale_t);
-size_t strxfrm_l (char *, const char *, size_t, locale_t);
+size_t strxfrm_l (char *__restrict, const char *__restrict, size_t, locale_t);
 #endif
 
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
-void *memccpy (void *, const void *, int, size_t);
+void *memccpy (void *__restrict, const void *__restrict, int, size_t);
 #endif
 
 #ifdef _BSD_SOURCE
index 47d195f41128fcfd8cd8f8728191a1efe3341a09..dd4176dd2980c4957450feb00c3d7d92761fb2d7 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_size_t
 #define __NEED_time_t
 #define __NEED_suseconds_t
@@ -27,8 +33,8 @@ typedef struct
 #define FD_CLR(d, s)   ((s)->fds_bits[(d)/(8*sizeof(long))] &= ~(1UL<<((d)%(8*sizeof(long)))))
 #define FD_ISSET(d, s) !!((s)->fds_bits[(d)/(8*sizeof(long))] & (1UL<<((d)%(8*sizeof(long)))))
 
-int select (int, fd_set *, fd_set *, fd_set *, struct timeval *);
-int pselect (int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *);
+int select (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, struct timeval *__restrict);
+int pselect (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, const struct timespec *__restrict, const sigset_t *__restrict);
 
 
 #ifdef __cplusplus
index a384ca1258e5d82490ec4f1498f3e946affa06bc..7024d232df0928ec651a1c54f3a002bf32b90c87 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_socklen_t
 #define __NEED_sa_family_t
 #define __NEED_size_t
@@ -232,19 +238,19 @@ int shutdown (int, int);
 int bind (int, const struct sockaddr *, socklen_t);
 int connect (int, const struct sockaddr *, socklen_t);
 int listen (int, int);
-int accept (int, struct sockaddr *, socklen_t *);
+int accept (int, struct sockaddr *__restrict, socklen_t *__restrict);
 
-int getsockname (int, struct sockaddr *, socklen_t *);
-int getpeername (int, struct sockaddr *, socklen_t *);
+int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict);
+int getpeername (int, struct sockaddr *__restrict, socklen_t *__restrict);
 
 ssize_t send (int, const void *, size_t, int);
 ssize_t recv (int, void *, size_t, int);
 ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t);
-ssize_t recvfrom (int, void *, size_t, int, struct sockaddr *, socklen_t *);
+ssize_t recvfrom (int, void *__restrict, size_t, int, struct sockaddr *__restrict, socklen_t *__restrict);
 ssize_t sendmsg (int, const struct msghdr *, int);
 ssize_t recvmsg (int, struct msghdr *, int);
 
-int getsockopt (int, int, int, void *, socklen_t *);
+int getsockopt (int, int, int, void *__restrict, socklen_t *__restrict);
 int setsockopt (int, int, int, const void *, socklen_t);
 
 int sockatmark (int);
index 2a7ce233661ae9b43af88c799982ae3c0ccd5a1c..e16a9682b6c3b837367e1689bf7d736725ac05f9 100644 (file)
@@ -4,6 +4,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_dev_t
 #define __NEED_ino_t
 #define __NEED_mode_t
@@ -68,10 +74,10 @@ extern "C" {
 #define UTIME_NOW  0x3fffffff
 #define UTIME_OMIT 0x3ffffffe
 
-int stat(const char *, struct stat *);
+int stat(const char *__restrict, struct stat *__restrict);
 int fstat(int, struct stat *);
-int lstat(const char *, struct stat *);
-int fstatat(int, const char *, struct stat *, int);
+int lstat(const char *__restrict, struct stat *__restrict);
+int fstatat(int, const char *__restrict, struct stat *__restrict, int);
 int chmod(const char *, mode_t);
 int fchmod(int, mode_t);
 int fchmodat(int, const char *, mode_t, int);
index 0a3ac9e098906a374477e2060bfc490761f7d2ab..be41c287d532fc9e3c41b31ec2cdc085c59dc1e0 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_fsblkcnt_t
 #define __NEED_fsfilcnt_t
 #include <bits/alltypes.h>
@@ -26,7 +32,7 @@ struct statvfs {
        int __reserved[6];
 };
 
-int statvfs (const char *, struct statvfs *);
+int statvfs (const char *__restrict, struct statvfs *__restrict);
 int fstatvfs (int, struct statvfs *);
 
 #define ST_RDONLY 1
index 144dd230d4015225bd6fb90dc7aa3dbd900362bb..bf026432b339810b4212fb7c1a0e7f12e6198ded 100644 (file)
@@ -4,9 +4,15 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #include <sys/select.h>
 
-int gettimeofday (struct timeval *, void *);
+int gettimeofday (struct timeval *__restrict, void *__restrict);
 
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
@@ -22,7 +28,7 @@ struct itimerval
 };
 
 int getitimer (int, struct itimerval *);
-int setitimer (int, const struct itimerval *, struct itimerval *);
+int setitimer (int, const struct itimerval *__restrict, struct itimerval *__restrict);
 int utimes (const char *, const struct timeval [2]);
 
 #endif
index 3cc0d28ad923d4f6a66d62b707464a5e129ef3c0..f24789e42d68789fdb73dbcf22ab8397434058ba 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #undef NULL
 #ifdef __cplusplus
 #define NULL 0
@@ -48,7 +54,7 @@ clock_t clock (void);
 time_t time (time_t *);
 double difftime (time_t, time_t);
 time_t mktime (struct tm *);
-size_t strftime (char *, size_t, const char *, const struct tm *);
+size_t strftime (char *__restrict, size_t, const char *__restrict, const struct tm *__restrict);
 struct tm *gmtime (const time_t *);
 struct tm *localtime (const time_t *);
 char *asctime (const struct tm *);
@@ -61,11 +67,11 @@ char *ctime (const time_t *);
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \
  || defined(_BSD_SOURCE)
 
-size_t strftime_l (char *, size_t, const char *, const struct tm *, locale_t);
+size_t strftime_l (char *  __restrict, size_t, const char *  __restrict, const struct tm *  __restrict, locale_t);
 
-struct tm *gmtime_r (const time_t *, struct tm *);
-struct tm *localtime_r (const time_t *, struct tm *);
-char *asctime_r (const struct tm *, char *);
+struct tm *gmtime_r (const time_t *__restrict, struct tm *__restrict);
+struct tm *localtime_r (const time_t *__restrict, struct tm *__restrict);
+char *asctime_r (const struct tm *__restrict, char *__restrict);
 char *ctime_r (const time_t *, char *);
 
 void tzset (void);
@@ -91,9 +97,9 @@ int clock_nanosleep (clockid_t, int, const struct timespec *, struct timespec *)
 int clock_getcpuclockid (pid_t, clockid_t *);
 
 struct sigevent;
-int timer_create (clockid_t, struct sigevent *, timer_t *);
+int timer_create (clockid_t, struct sigevent *__restrict, timer_t *__restrict);
 int timer_delete (timer_t);
-int timer_settime (timer_t, int, const struct itimerspec *, struct itimerspec *);
+int timer_settime (timer_t, int, const struct itimerspec *__restrict, struct itimerspec *__restrict);
 int timer_gettime (timer_t, struct itimerspec *);
 int timer_getoverrun (timer_t);
 
@@ -101,7 +107,7 @@ int timer_getoverrun (timer_t);
 
 
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-char *strptime (const char *, const char *, struct tm *);
+char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict);
 extern int daylight;
 extern long timezone;
 extern char *tzname[2];
index 12d153b86ad39e065073ca04e0b17167247c660e..ecb23f81e6e453f32758017b42c8acbf64473d3b 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define STDIN_FILENO  0
 #define STDOUT_FILENO 1
 #define STDERR_FILENO 2
@@ -52,8 +58,8 @@ int link(const char *, const char *);
 int linkat(int, const char *, int, const char *, int);
 int symlink(const char *, const char *);
 int symlinkat(const char *, int, const char *);
-ssize_t readlink(const char *, char *, size_t);
-ssize_t readlinkat(int, const char *, char *, size_t);
+ssize_t readlink(const char *__restrict, char *__restrict, size_t);
+ssize_t readlinkat(int, const char *__restrict, char *__restrict, size_t);
 int unlink(const char *);
 int unlinkat(int, const char *, int);
 int rmdir(const char *);
@@ -141,7 +147,7 @@ void sync(void);
 pid_t setpgrp(void);
 char *crypt(const char *, const char *);
 void encrypt(char *, int);
-void swab(const void *, void *, ssize_t);
+void swab(const void *__restrict, void *__restrict, ssize_t);
 #endif
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \
index 12ddd4f49a632cc7a5b7bace935258a522be9615..b1c6b7fac44c96100467a57c72f9e6fd367dfdaf 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_FILE
 #define __NEED_va_list
 #define __NEED_size_t
@@ -39,17 +45,17 @@ typedef struct
        unsigned __opaque1, __opaque2;
 } mbstate_t;
 
-wchar_t *wcscpy (wchar_t *, const wchar_t *);
-wchar_t *wcsncpy (wchar_t *, const wchar_t *, size_t);
+wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict);
+wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t);
 
-wchar_t *wcscat (wchar_t *, const wchar_t *);
-wchar_t *wcsncat (wchar_t *, const wchar_t *, size_t);
+wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict);
+wchar_t *wcsncat (wchar_t *__restrict, const wchar_t *__restrict, size_t);
 
 int wcscmp (const wchar_t *, const wchar_t *);
 int wcsncmp (const wchar_t *, const wchar_t *, size_t);
 
 int wcscoll(const wchar_t *, const wchar_t *);
-size_t wcsxfrm (wchar_t *, const wchar_t *, size_t n);
+size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, size_t n);
 
 wchar_t *wcschr (const wchar_t *, wchar_t);
 wchar_t *wcsrchr (const wchar_t *, wchar_t);
@@ -58,16 +64,16 @@ size_t wcscspn (const wchar_t *, const wchar_t *);
 size_t wcsspn (const wchar_t *, const wchar_t *);
 wchar_t *wcspbrk (const wchar_t *, const wchar_t *);
 
-wchar_t *wcstok (wchar_t *, const wchar_t *, wchar_t **);
+wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__restrict);
 
 size_t wcslen (const wchar_t *);
 
-wchar_t *wcsstr (const wchar_t *, const wchar_t *);
+wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict);
 wchar_t *wcswcs (const wchar_t *, const wchar_t *);
 
 wchar_t *wmemchr (const wchar_t *, wchar_t, size_t);
 int wmemcmp (const wchar_t *, const wchar_t *, size_t);
-wchar_t *wmemcpy (wchar_t *, const wchar_t *, size_t);
+wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, size_t);
 wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t);
 wchar_t *wmemset (wchar_t *, wchar_t, size_t);
 
@@ -75,44 +81,44 @@ wint_t btowc (int);
 int wctob (wint_t);
 
 int mbsinit (const mbstate_t *);
-size_t mbrtowc (wchar_t *, const char *, size_t, mbstate_t *);
-size_t wcrtomb (char *, wchar_t, mbstate_t *);
+size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict);
+size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict);
 
-size_t mbrlen (const char *, size_t, mbstate_t *);
+size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict);
 
-size_t mbsrtowcs (wchar_t *, const char **, size_t, mbstate_t *);
-size_t wcsrtombs (char *, const wchar_t **, size_t, mbstate_t *);
+size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, mbstate_t *__restrict);
+size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, size_t, mbstate_t *__restrict);
 
-float wcstof (const wchar_t *, wchar_t **);
-double wcstod (const wchar_t *, wchar_t **);
-long double wcstold (const wchar_t *, wchar_t **);
+float wcstof (const wchar_t *__restrict, wchar_t **__restrict);
+double wcstod (const wchar_t *__restrict, wchar_t **__restrict);
+long double wcstold (const wchar_t *__restrict, wchar_t **__restrict);
 
-long wcstol (const wchar_t *, wchar_t **, int);
-unsigned long wcstoul (const wchar_t *, wchar_t **, int);
+long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int);
+unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, int);
 
-long long wcstoll (const wchar_t *, wchar_t **, int);
-unsigned long long wcstoull (const wchar_t *, wchar_t **, int);
+long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, int);
+unsigned long long wcstoull (const wchar_t *__restrict, wchar_t **__restrict, int);
 
 
 
 int fwide (FILE *, int);
 
 
-int wprintf (const wchar_t *, ...);
-int fwprintf (FILE *, const wchar_t *, ...);
-int swprintf (wchar_t *, size_t, const wchar_t *, ...);
+int wprintf (const wchar_t *__restrict, ...);
+int fwprintf (FILE *__restrict, const wchar_t *__restrict, ...);
+int swprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, ...);
 
-int vwprintf (const wchar_t *, va_list);
-int vfwprintf (FILE *, const wchar_t *, va_list);
-int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
+int vwprintf (const wchar_t *__restrict, va_list);
+int vfwprintf (FILE *__restrict, const wchar_t *__restrict, va_list);
+int vswprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, va_list);
 
-int wscanf (const wchar_t *, ...);
-int fwscanf (FILE *, const wchar_t *, ...);
-int swscanf (const wchar_t *, const wchar_t *, ...);
+int wscanf (const wchar_t *__restrict, ...);
+int fwscanf (FILE *__restrict, const wchar_t *__restrict, ...);
+int swscanf (const wchar_t *__restrict, const wchar_t *__restrict, ...);
 
-int vwscanf (const wchar_t *, va_list);
-int vfwscanf (FILE *, const wchar_t *, va_list);
-int vswscanf (const wchar_t *, const wchar_t *, va_list);
+int vwscanf (const wchar_t *__restrict, va_list);
+int vfwscanf (FILE *__restrict, const wchar_t *__restrict, va_list);
+int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, va_list);
 
 wint_t fgetwc (FILE *);
 wint_t getwc (FILE *);
@@ -122,31 +128,31 @@ wint_t fputwc (wchar_t, FILE *);
 wint_t putwc (wchar_t, FILE *);
 wint_t putwchar (wchar_t);
 
-wchar_t *fgetws (wchar_t *, int, FILE *);
-int fputws (const wchar_t *, FILE *);
+wchar_t *fgetws (wchar_t *__restrict, int, FILE *__restrict);
+int fputws (const wchar_t *__restrict, FILE *__restrict);
 
 wint_t ungetwc (wint_t, FILE *);
 
 struct tm;
-size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *);
+size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict);
 
 #undef iswdigit
 
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
 FILE *open_wmemstream(wchar_t **, size_t *);
-size_t mbsnrtowcs(wchar_t *, const char **, size_t, size_t, mbstate_t *);
-size_t wcsnrtombs(char *, const wchar_t **, size_t, size_t, mbstate_t *);
+size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict);
+size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict);
 wchar_t *wcsdup(const wchar_t *);
 size_t wcsnlen (const wchar_t *, size_t);
-wchar_t *wcpcpy (wchar_t *, const wchar_t *);
-wchar_t *wcpncpy (wchar_t *, const wchar_t *, size_t);
+wchar_t *wcpcpy (wchar_t *__restrict, const wchar_t *__restrict);
+wchar_t *wcpncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t);
 int wcscasecmp(const wchar_t *, const wchar_t *);
 int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t);
 int wcsncasecmp(const wchar_t *, const wchar_t *, size_t);
 int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t);
 int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
-size_t wcsxfrm_l(wchar_t *, const wchar_t *, size_t n, locale_t);
+size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t n, locale_t);
 #endif
 
 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
index 0691c8eaaaf6b3957145ec36a5eefe04d47a3e69..e7eb3255ded8ffede3b8a24c153e5c875a9c65be 100644 (file)
@@ -5,6 +5,12 @@
 extern "C" {
 #endif
 
+#if __STDC_VERSION__ >= 199901L
+#define __restrict restrict
+#elif !defined(__GNUC__)
+#define __restrict
+#endif
+
 #define __NEED_size_t
 
 #include <bits/alltypes.h>
@@ -30,7 +36,7 @@ typedef struct
 #define WRDE_CMDSUB  4
 #define WRDE_SYNTAX  5
 
-int wordexp (const char *, wordexp_t *, int);
+int wordexp (const char *__restrict, wordexp_t *__restrict, int);
 void wordfree (wordexp_t *);
 
 #ifdef __cplusplus
index 8c851ca3bb66aa179e22bef89c0abaf62118ba69..30f7cc05c28f4002e6ab1e94a94dfb662c390070 100644 (file)
@@ -64,7 +64,7 @@ static void *wait_thread(void *p)
        return 0;
 }
 
-int lio_listio(int mode, struct aiocb *const cbs[], int cnt, struct sigevent *sev)
+int lio_listio(int mode, struct aiocb *restrict const cbs[restrict], int cnt, struct sigevent *restrict sev)
 {
        int i, ret;
        struct lio_state *st=0;
@@ -81,7 +81,7 @@ int lio_listio(int mode, struct aiocb *const cbs[], int cnt, struct sigevent *se
                }
                st->cnt = cnt;
                st->sev = sev;
-               memcpy(st->cbs, cbs, cnt*sizeof *cbs);
+               memcpy(st->cbs, (void*) cbs, cnt*sizeof *cbs);
        }
 
        for (i=0; i<cnt; i++) {
index d3d7c608f7ab7f86a1b9c9af7896dd6da464389d..639d49a17712053a08ae7453938f0c10ee40e770 100644 (file)
@@ -5,7 +5,7 @@
 #include "__dirent.h"
 #include "libc.h"
 
-int readdir_r(DIR *dir, struct dirent *buf, struct dirent **result)
+int readdir_r(DIR *restrict dir, struct dirent *restrict buf, struct dirent **restrict result)
 {
        struct dirent *de;
        int errno_save = errno;
index 33693143318d51543d1253c86b53b5346b98c050..c0f50e923b857d5e359fce641f0c6e0e77d81245 100644 (file)
@@ -1,8 +1,8 @@
 #include <dlfcn.h>
 
-void *__dlsym(void *, const char *, void *);
+void *__dlsym(void *restrict, const char *restrict, void *restrict);
 
-void *dlsym(void *p, const char *s)
+void *dlsym(void *restrict p, const char *restrict s)
 {
        return __dlsym(p, s, 0);
 }
index 93a4b44c1165035db3e2852e8db682cd9b664643..1c181339d95a43964502c255c529e3d7449627d5 100644 (file)
@@ -973,7 +973,7 @@ int __dladdr(void *addr, Dl_info *info)
        return 1;
 }
 
-void *__dlsym(void *p, const char *s, void *ra)
+void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra)
 {
        void *res;
        pthread_rwlock_rdlock(&lock);
@@ -986,7 +986,7 @@ void *dlopen(const char *file, int mode)
 {
        return 0;
 }
-void *__dlsym(void *p, const char *s, void *ra)
+void *__dlsym(void *restrict p, const char *restrict s, void *restrict ra)
 {
        return 0;
 }
index 508d322e5e38927da68e31e0ab137f2299415086..7b341fe9fcb99c0c30c63179d1fb36ebafce8dcf 100644 (file)
@@ -139,7 +139,7 @@ static void put_32(unsigned char *s, unsigned c, int e)
 #define mbrtowc_utf8 mbrtowc
 #define wctomb_utf8 wctomb
 
-size_t iconv(iconv_t cd0, char **in, size_t *inb, char **out, size_t *outb)
+size_t iconv(iconv_t cd0, char **restrict in, size_t *restrict inb, char **restrict out, size_t *restrict outb)
 {
        size_t x=0;
        unsigned long cd = (unsigned long)cd0;
index 81dfe38f4e653ee834eba4528b6c21ae04bdf596..f510d9a42f74889995c1ea8f65f6447c933a7691 100644 (file)
@@ -75,7 +75,7 @@ static ssize_t vstrfmon_l(char *s, size_t n, locale_t loc, const char *fmt, va_l
        return s-s0;
 }
 
-ssize_t strfmon_l(char *s, size_t n, locale_t loc, const char *fmt, ...)
+ssize_t strfmon_l(char *restrict s, size_t n, locale_t loc, const char *restrict fmt, ...)
 {
        va_list ap;
        ssize_t ret;
@@ -88,7 +88,7 @@ ssize_t strfmon_l(char *s, size_t n, locale_t loc, const char *fmt, ...)
 }
 
 
-ssize_t strfmon(char *s, size_t n, const char *fmt, ...)
+ssize_t strfmon(char *restrict s, size_t n, const char *restrict fmt, ...)
 {
        va_list ap;
        ssize_t ret;
index 70b2f15157e593753061668080cefab596befccb..f19f5bf38c19ca7d180e499c7028b9b39b208e34 100644 (file)
@@ -1,7 +1,7 @@
 #include <locale.h>
 #include <time.h>
 
-size_t strftime_l(char *s, size_t n, const char *f, const struct tm *tm, locale_t l)
+size_t strftime_l(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm, locale_t l)
 {
        return strftime(s, n, f, tm);
 }
index 8f12339916c75cae31e49ed860994cecd89c7351..d40be9e132a3d9898c698d9991779af3813f4ac3 100644 (file)
@@ -1,7 +1,7 @@
 #include <string.h>
 
 /* collate only by code points */
-size_t strxfrm(char *dest, const char *src, size_t n)
+size_t strxfrm(char *restrict dest, const char *restrict src, size_t n)
 {
        size_t l = strlen(src);
        if (n > l) strcpy(dest, src);
index 78e56554089ccea756764693f1b7bdaa9fb79480..81a7badfe6ea71fc91a707bdf0f19b7bdd0c37ee 100644 (file)
@@ -1,6 +1,6 @@
 #include <string.h>
 
-size_t strxfrm_l(char *dest, const char *src, size_t n, locale_t l)
+size_t strxfrm_l(char *restrict dest, const char *restrict src, size_t n, locale_t l)
 {
        return strxfrm(dest, src, n);
 }
index 5f76e5a7b27c3e32e123e8ce74369c445631d812..bfa01b5b34749eb93a3e22ce0860ba91143774d4 100644 (file)
@@ -1,7 +1,7 @@
 #include <wchar.h>
 
 /* collate only by code points */
-size_t wcsxfrm(wchar_t *dest, const wchar_t *src, size_t n)
+size_t wcsxfrm(wchar_t *restrict dest, const wchar_t *restrict src, size_t n)
 {
        size_t l = wcslen(src);
        if (l >= n) {
index 831998e91c9657eec424f10476ef736a83187d84..66a00193c78272de3de055aa3ce755ff62de9283 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src, size_t n, locale_t locale)
+size_t wcsxfrm_l(wchar_t *restrict dest, const wchar_t *restrict src, size_t n, locale_t locale)
 {
        return wcsxfrm(dest, src, n);
 }
index ef156fcf8aaf1cb808e4a3760a46df3855676ce8..5756817943c208c66723f375c606451e7fe400f1 100644 (file)
@@ -6,7 +6,7 @@
 #include <errno.h>
 #include <unistd.h>
 
-char *realpath(const char *filename, char *resolved)
+char *realpath(const char *restrict filename, char *restrict resolved)
 {
        int fd;
        ssize_t r;
index 15adddbe381e14cb6e70b7db6f6502e84111deb6..617706e50d99c18f10eb9a85d836f6100abe63bc 100644 (file)
@@ -147,7 +147,7 @@ static int do_wordexp(const char *s, wordexp_t *we, int flags)
        return err;
 }
 
-int wordexp(const char *s, wordexp_t *we, int flags)
+int wordexp(const char *restrict s, wordexp_t *restrict we, int flags)
 {
        int r, cs;
        pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
index 9064fa073e4e14e1191f16ddbf61fcabf0d34e69..eae022e946b18ad36af97b8793e74c71b7d47733 100644 (file)
@@ -1,7 +1,7 @@
 #include <mqueue.h>
 #include "syscall.h"
 
-int mq_setattr(mqd_t mqd, const struct mq_attr *new, struct mq_attr *old)
+int mq_setattr(mqd_t mqd, const struct mq_attr *restrict new, struct mq_attr *restrict old)
 {
        return syscall(SYS_mq_getsetattr, mqd, new, old);
 }
index 099f213a40673e947f3f2efa1ea24d988ce9b4e2..2cef6a86bff8c99498fe62acbd3411be6e5a45e5 100644 (file)
@@ -1,7 +1,7 @@
 #include <mqueue.h>
 #include "syscall.h"
 
-ssize_t mq_timedreceive(mqd_t mqd, char *msg, size_t len, unsigned *prio, const struct timespec *at)
+ssize_t mq_timedreceive(mqd_t mqd, char *restrict msg, size_t len, unsigned *restrict prio, const struct timespec *restrict at)
 {
        return syscall_cp(SYS_mq_timedreceive, mqd, msg, len, prio, at);
 }
index c9a9f03307d292a599467e6178350263ee2ce754..c9714ef82244a7a16d57ae37bbcba64e9a86faa3 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t mbrlen(const char *s, size_t n, mbstate_t *st)
+size_t mbrlen(const char *restrict s, size_t n, mbstate_t *restrict st)
 {
        static unsigned internal;
        return mbrtowc(0, s, n, st ? st : (mbstate_t *)&internal);
index 291537f800f3705cffd50a570e9186a328c674a1..cc497810298ca37b5c3581ebcc54693abaa72890 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t mbrtowc(wchar_t *wc, const char *src, size_t n, mbstate_t *st)
+size_t mbrtowc(wchar_t *restrict wc, const char *restrict src, size_t n, mbstate_t *restrict st)
 {
        static unsigned internal_state;
        unsigned c;
index f42e30d97126403c431108a8e22354ff804680a0..33457f95bdccd6e68b56123f88e84522c7d9bad7 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "internal.h"
 
-size_t mbsnrtowcs(wchar_t *wcs, const char **src, size_t n, size_t wn, mbstate_t *st)
+size_t mbsnrtowcs(wchar_t *restrict wcs, const char **restrict src, size_t n, size_t wn, mbstate_t *restrict st)
 {
        size_t l, cnt=0, n2;
        wchar_t *ws, wbuf[256];
index ebf0d6c9711c261726f77172ee68ce0df5263cb8..8313d37bfb761b2efbee574a43439f881f7e8a73 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t mbsrtowcs(wchar_t *ws, const char **src, size_t wn, mbstate_t *st)
+size_t mbsrtowcs(wchar_t *restrict ws, const char **restrict src, size_t wn, mbstate_t *restrict st)
 {
        unsigned c;
        const unsigned char *s = (const void *)*src;
index 23e1d925c1b714d9c467d85f6f4340f35e519ad4..5071baf7aab06cc9fba5de494cf4ee0a2c402892 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t mbstowcs(wchar_t *ws, const char *s, size_t wn)
+size_t mbstowcs(wchar_t *restrict ws, const char *restrict s, size_t wn)
 {
        mbstate_t st = { 0 };
        return mbsrtowcs(ws, (void*)&s, wn, &st);
index bdcaeb3ce6296f9a2a9659a722bb331342137825..b5dd7e3cdb11dade078838aee25219b8056ddca0 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-int mbtowc(wchar_t *wc, const char *s, size_t n)
+int mbtowc(wchar_t *restrict wc, const char *restrict s, size_t n)
 {
        mbstate_t st = { 0 };
        n = mbrtowc(wc, s, n, &st);
index 36180c8f00fa2fa49208ef18e8710c013a2eaba9..250649f55b4fb707b4216b96f9d9e2dba96968a7 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t wcrtomb(char *s, wchar_t wc, mbstate_t *st)
+size_t wcrtomb(char *restrict s, wchar_t wc, mbstate_t *restrict st)
 {
        if (!s) return 1;
        if ((unsigned)wc < 0x80) {
index 70b0cacb2b97639d0c4cf28b1f9d5467c2cc0923..a2e308b3be62e0eeb720a2ae19c4d16d14abb7aa 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t wcsnrtombs(char *dst, const wchar_t **wcs, size_t wn, size_t n, mbstate_t *st)
+size_t wcsnrtombs(char *restrict dst, const wchar_t **restrict wcs, size_t wn, size_t n, mbstate_t *restrict st)
 {
        size_t l, cnt=0, n2;
        char *s, buf[256];
index 3c48d65b91e00dcb21d6353edca0c82ec8024861..2582ac2f2d80307560992c46d366f5c86dda9efe 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "internal.h"
 
-size_t wcsrtombs(char *s, const wchar_t **ws, size_t n, mbstate_t *st)
+size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstate_t *restrict st)
 {
        const wchar_t *ws2;
        char buf[4];
index b9c1b18a2f41b6b5707749b3f863f146e8bcd9aa..b6ae4732f43f8dba83dc2f0616fc74fd084d25ae 100644 (file)
@@ -11,7 +11,8 @@
 
 #include "internal.h"
 
-size_t wcstombs(char *s, const wchar_t *ws, size_t n)
+size_t wcstombs(char *restrict s, const wchar_t *restrict ws, size_t n)
 {
-       return wcsrtombs(s, &ws, n, 0);
+       const wchar_t * x = ws;
+       return wcsrtombs(s, &x, n, 0);
 }
index f6b75ba4136e018812407c2f0b584e8fcebf50f8..521e9ef984fab1bbf8618db1c8ef8511f60e8777 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int accept(int fd, struct sockaddr *addr, socklen_t *len)
+int accept(int fd, struct sockaddr *restrict addr, socklen_t *restrict len)
 {
        return socketcall_cp(accept, fd, addr, len, 0, 0, 0);
 }
index 838621668a7bfc241b7c2b1852211a07a6114dce..b9e562f7cdaae41287847d942cc18e59acd8269f 100644 (file)
@@ -47,7 +47,7 @@ struct aibuf {
 /* Extra slots needed for storing canonical name */
 #define EXTRA ((256+sizeof(struct aibuf)-1)/sizeof(struct aibuf))
 
-int getaddrinfo(const char *host, const char *serv, const struct addrinfo *hint, struct addrinfo **res)
+int getaddrinfo(const char *restrict host, const char *restrict serv, const struct addrinfo *restrict hint, struct addrinfo **restrict res)
 {
        int flags = hint ? hint->ai_flags : 0;
        int family = hint ? hint->ai_family : AF_UNSPEC;
index 0763ca8886e756312827eccd24e526331bb7bde2..3d115c75ce217202030f4cb3907033cc4eaf5e3e 100644 (file)
@@ -8,9 +8,9 @@
 #include <arpa/inet.h>
 #include "__dns.h"
 
-int getnameinfo(const struct sockaddr *sa, socklen_t sl,
-       char *node, socklen_t nodelen,
-       char *serv, socklen_t servlen,
+int getnameinfo(const struct sockaddr *restrict sa, socklen_t sl,
+       char *restrict node, socklen_t nodelen,
+       char *restrict serv, socklen_t servlen,
        int flags)
 {
        char buf[256];
index 22effdae022518c86a5d0c6d6d77ec2f22746b00..6567b45191571dbd3ef970c4c2861f3312e551f3 100644 (file)
@@ -1,7 +1,7 @@
 #include <sys/socket.h>
 #include "syscall.h"
 
-int getpeername(int fd, struct sockaddr *addr, socklen_t *len)
+int getpeername(int fd, struct sockaddr *restrict addr, socklen_t *restrict len)
 {
        return socketcall(getpeername, fd, addr, len, 0, 0, 0);
 }
index 271e3b41d113b72bd66ba4b4a82002c68e9f43ad..7885fc13ba4c8a044df2c9eac1561fa1484fb594 100644 (file)
@@ -1,7 +1,7 @@
 #include <sys/socket.h>
 #include "syscall.h"
 
-int getsockname(int fd, struct sockaddr *addr, socklen_t *len)
+int getsockname(int fd, struct sockaddr *restrict addr, socklen_t *restrict len)
 {
        return socketcall(getsockname, fd, addr, len, 0, 0, 0);
 }
index a9e0a72dbe5565628b581ca5916513b701b515f8..28079d8c0cb60a4e4d810a49ca7b0992bc6d4d9f 100644 (file)
@@ -1,7 +1,7 @@
 #include <sys/socket.h>
 #include "syscall.h"
 
-int getsockopt(int fd, int level, int optname, void *optval, socklen_t *optlen)
+int getsockopt(int fd, int level, int optname, void *restrict optval, socklen_t *restrict optlen)
 {
        return socketcall(getsockopt, fd, level, optname, optval, optlen, 0);
 }
index 4817187d610587786e555614f912257ad6f848fd..76ae556c19196708b4b2bfd526a026bfd4b327ce 100644 (file)
@@ -6,7 +6,7 @@
 #include <stdio.h>
 #include <string.h>
 
-const char *inet_ntop(int af, const void *a0, char *s, socklen_t l)
+const char *inet_ntop(int af, const void *restrict a0, char *restrict s, socklen_t l)
 {
        const unsigned char *a = a0;
        int i, j, max, best;
index bb16fb90b1b884fd74522dc719b12b78c64d1af0..5c4850a685519f44200333acc882c2b6529b8e94 100644 (file)
@@ -14,7 +14,7 @@ static int hexval(unsigned c)
        return -1;
 }
 
-int inet_pton(int af, const char *s, void *a0)
+int inet_pton(int af, const char *restrict s, void *restrict a0)
 {
        uint16_t ip[8];
        unsigned char *a = a0;
index 035a15f8a0711fdd096ef4ce95229e6608871d2e..436f3447cfb8782c0ea6a8fa63e1f56ecdae472d 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-ssize_t recvfrom(int fd, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *alen)
+ssize_t recvfrom(int fd, void *restrict buf, size_t len, int flags, struct sockaddr *restrict addr, socklen_t *restrict alen)
 {
        return socketcall_cp(recvfrom, fd, buf, len, flags, addr, alen);
 }
index 9f2d7423530c5faa034f9b179176ccd60ba3bef2..1120be081e90c1f64a1a76cc645ec5095abf889a 100644 (file)
@@ -8,11 +8,11 @@
 
 extern char **environ;
 
-int __posix_spawnx(pid_t *res, const char *path,
+int __posix_spawnx(pid_t *restrict res, const char *restrict path,
        int (*exec)(const char *, char *const *),
        const posix_spawn_file_actions_t *fa,
-       const posix_spawnattr_t *attr,
-       char *const argv[], char *const envp[])
+       const posix_spawnattr_t *restrict attr,
+       char *const argv[restrict], char *const envp[restrict])
 {
        pid_t pid;
        sigset_t oldmask;
@@ -89,10 +89,10 @@ int __posix_spawnx(pid_t *res, const char *path,
        return 0;
 }
 
-int posix_spawn(pid_t *res, const char *path,
+int posix_spawn(pid_t *restrict res, const char *restrict path,
        const posix_spawn_file_actions_t *fa,
-       const posix_spawnattr_t *attr,
-       char *const argv[], char *const envp[])
+       const posix_spawnattr_t *restrict attr,
+       char *const argv[restrict], char *const envp[restrict])
 {
        return __posix_spawnx(res, path, execv, fa, attr, argv, envp);
 }
index af3ca604fe0ee8125d9677e9028ae0e58f4d0b40..368922c76b5259944059bad15d1c1d9d8e79fce5 100644 (file)
@@ -4,7 +4,7 @@
 #include <errno.h>
 #include "fdop.h"
 
-int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *fa, int fd, const char *path, int flags, mode_t mode)
+int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *restrict fa, int fd, const char *restrict path, int flags, mode_t mode)
 {
        struct fdop *op = malloc(sizeof *op + strlen(path) + 1);
        if (!op) return ENOMEM;
index 7353d24a6c0e01f93cb82313b1eaed18983fb63a..aa635ddaf6a1703b1237608d540729a544e6d48e 100644 (file)
@@ -1,6 +1,6 @@
 #include <spawn.h>
 
-int posix_spawnattr_getflags(const posix_spawnattr_t *attr, short *flags)
+int posix_spawnattr_getflags(const posix_spawnattr_t *restrict attr, short *restrict flags)
 {
        *flags = attr->__flags;
        return 0;
index 2c72e9851ad0cacc058d04ed963af4952c8d448f..0480527d6fa79a76507357366f38a5de7ce3c420 100644 (file)
@@ -1,6 +1,6 @@
 #include <spawn.h>
 
-int posix_spawnattr_getpgroup(const posix_spawnattr_t *attr, pid_t *pgrp)
+int posix_spawnattr_getpgroup(const posix_spawnattr_t *restrict attr, pid_t *restrict pgrp)
 {
        *pgrp = attr->__pgrp;
        return 0;
index 5f0dfb58c192350b34a4d69b0d2503b7118c7032..a49050aa4f7cdc7bbf9b6f3fc738ea74de0b8ca0 100644 (file)
@@ -1,6 +1,6 @@
 #include <spawn.h>
 
-int posix_spawnattr_getsigdefault(const posix_spawnattr_t *attr, sigset_t *def)
+int posix_spawnattr_getsigdefault(const posix_spawnattr_t *restrict attr, sigset_t *restrict def)
 {
        *def = attr->__def;
        return 0;
index b44907561dd1884a544a4c9233e612d7d88f1abb..f60ad7f37531b9ba057b725d2b86083de458f010 100644 (file)
@@ -1,6 +1,6 @@
 #include <spawn.h>
 
-int posix_spawnattr_getsigmask(const posix_spawnattr_t *attr, sigset_t *mask)
+int posix_spawnattr_getsigmask(const posix_spawnattr_t *restrict attr, sigset_t *restrict mask)
 {
        *mask = attr->__mask;
        return 0;
index a6ddd4d81169b471875e4a901526a6fdbe7a662e..5686972670a519dd5f10ad6b727f70b4cf3f308c 100644 (file)
@@ -1,6 +1,6 @@
 #include <spawn.h>
 
-int posix_spawnattr_setsigdefault(posix_spawnattr_t *attr, const sigset_t *def)
+int posix_spawnattr_setsigdefault(posix_spawnattr_t *restrict attr, const sigset_t *restrict def)
 {
        attr->__def = *def;
        return 0;
index 6afbf8760870ff9a847e139962274a0cf8607516..f2532f8e0ea066e545dea36770bc9268068d28da 100644 (file)
@@ -1,6 +1,6 @@
 #include <spawn.h>
 
-int posix_spawnattr_setsigmask(posix_spawnattr_t *attr, const sigset_t *mask)
+int posix_spawnattr_setsigmask(posix_spawnattr_t *restrict attr, const sigset_t *restrict mask)
 {
        attr->__mask = *mask;
        return 0;
index 04d768d03aaf7935e27baef8900026cf95b6977a..91355fb82f7e843cf7e648bf33d301e8763d0618 100644 (file)
@@ -1,15 +1,15 @@
 #include <spawn.h>
 #include <unistd.h>
 
-int __posix_spawnx(pid_t *, const char *,
+int __posix_spawnx(pid_t *restrict, const char *restrict,
        int (*)(const char *, char *const *),
        const posix_spawn_file_actions_t *,
-       const posix_spawnattr_t *, char *const [], char *const []);
+       const posix_spawnattr_t *restrict, char *const *restrict, char *const *restrict);
 
-int posix_spawnp(pid_t *res, const char *file,
+int posix_spawnp(pid_t *restrict res, const char *restrict file,
        const posix_spawn_file_actions_t *fa,
-       const posix_spawnattr_t *attr,
-       char *const argv[], char *const envp[])
+       const posix_spawnattr_t *restrict attr,
+       char *const argv[restrict], char *const envp[restrict])
 {
        return __posix_spawnx(res, file, execvp, fa, attr, argv, envp);
 }
index 3476e010d573b71443f3321e695435df36274197..6c07e6b3b5f817f57af09cd9e0a74a0d85bb0fc7 100644 (file)
@@ -156,7 +156,7 @@ static int sort(const void *a, const void *b)
        return strcmp(*(const char **)a, *(const char **)b);
 }
 
-int glob(const char *pat, int flags, int (*errfunc)(const char *path, int err), glob_t *g)
+int glob(const char *restrict pat, int flags, int (*errfunc)(const char *path, int err), glob_t *restrict g)
 {
        const char *p=pat, *d;
        struct match head = { .next = NULL }, *tail = &head;
index 322a5e67c437c2cd838240bd67e3100be2a3ab3c..399989e7905b8a23ce53ad74cef49bc4c94710d6 100644 (file)
@@ -3091,7 +3091,7 @@ tre_ast_to_tnfa(tre_ast_node_t *node, tre_tnfa_transition_t *transitions,
 
 
 int
-regcomp(regex_t *preg, const char *regex, int cflags)
+regcomp(regex_t *restrict preg, const char *restrict regex, int cflags)
 {
   tre_stack_t *stack;
   tre_ast_node_t *tree, *tmp_ast_l, *tmp_ast_r;
index 0645b8e72cb3cd8711885948846b888bdb10685a..df4afa4f22a6792b04570526999623f68e7d137e 100644 (file)
@@ -26,7 +26,7 @@ static const char messages[] = {
   "\0Unknown error"
 };
 
-size_t regerror(int e, const regex_t *preg, char *buf, size_t size)
+size_t regerror(int e, const regex_t *restrict preg, char *restrict buf, size_t size)
 {
        const char *s;
        for (s=messages; e && *s; e--, s+=strlen(s)+1);
index 8107aae775d46caafc0afe19e2546f835baf6487..855cef573ae94a12370492a4da433a39dff37856 100644 (file)
@@ -977,8 +977,8 @@ tre_fill_pmatch(size_t nmatch, regmatch_t pmatch[], int cflags,
 */
 
 int
-regexec(const regex_t *preg, const char *string,
-         size_t nmatch, regmatch_t pmatch[], int eflags)
+regexec(const regex_t *restrict preg, const char *restrict string,
+         size_t nmatch, regmatch_t pmatch[restrict], int eflags)
 {
   tre_tnfa_t *tnfa = (void *)preg->TRE_REGEX_T_FIELD;
   reg_errcode_t status;
index 48fcefedaa4afc5c8cbca11223959489a460d1b5..50343fb771cce70e860b334e050925e06216b375 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int pselect(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, const struct timespec *ts, const sigset_t *mask)
+int pselect(int n, fd_set *restrict rfds, fd_set *restrict wfds, fd_set *restrict efds, const struct timespec *restrict ts, const sigset_t *restrict mask)
 {
        long data[2] = { (long)mask, __SYSCALL_SSLEN };
        struct timespec ts_tmp;
index 696cb2880efcf1b2c0607f16cb424b203d6d5055..f93597b55cf78012a61b5d047c153e82bb1265e2 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int select(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, struct timeval *tv)
+int select(int n, fd_set *restrict rfds, fd_set *restrict wfds, fd_set *restrict efds, struct timeval *restrict tv)
 {
        return syscall_cp(SYS_select, n, rfds, wfds, efds, tv);
 }
index 3b2375809a7bd946ba2d420859a47b49d87414a7..21b1f45da9b7a87a67568e20991d1f4b73188f0a 100644 (file)
@@ -1,7 +1,7 @@
 #include <sys/time.h>
 #include "syscall.h"
 
-int setitimer(int which, const struct itimerval *new, struct itimerval *old)
+int setitimer(int which, const struct itimerval *restrict new, struct itimerval *restrict old)
 {
        return syscall(SYS_setitimer, which, new, old);
 }
index e0c58b734e9d22c3fa37682aaa85bee84ccabe89..2331dc93b6886a3abe9b141c16f350fa519aa974 100644 (file)
@@ -11,7 +11,7 @@ void __restore(), __restore_rt();
 static pthread_t dummy(void) { return 0; }
 weak_alias(dummy, __pthread_self_def);
 
-int __libc_sigaction(int sig, const struct sigaction *sa, struct sigaction *old)
+int __libc_sigaction(int sig, const struct sigaction *restrict sa, struct sigaction *restrict old)
 {
        struct k_sigaction ksa;
        if (sa) {
@@ -31,7 +31,7 @@ int __libc_sigaction(int sig, const struct sigaction *sa, struct sigaction *old)
        return 0;
 }
 
-int __sigaction(int sig, const struct sigaction *sa, struct sigaction *old)
+int __sigaction(int sig, const struct sigaction *restrict sa, struct sigaction *restrict old)
 {
        if (sig-32U < 3) {
                errno = EINVAL;
index 550f2f9df892b4a7b18f0f4de57b7562f4be73de..62cb81adfe16ea1a112448f1654d55a859718374 100644 (file)
@@ -2,7 +2,7 @@
 #include <errno.h>
 #include "syscall.h"
 
-int sigaltstack(const stack_t *ss, stack_t *old)
+int sigaltstack(const stack_t *restrict ss, stack_t *restrict old)
 {
        if (ss) {
                if (ss->ss_size < MINSIGSTKSZ) {
index 67e2b82e2ba8362f0db5272477d6588132e28689..297e20c65f825c64d0b63bf4500595aa126e3642 100644 (file)
@@ -1,7 +1,7 @@
 #include <signal.h>
 #include <errno.h>
 
-int sigprocmask(int how, const sigset_t *set, sigset_t *old)
+int sigprocmask(int how, const sigset_t *restrict set, sigset_t *restrict old)
 {
        int r = pthread_sigmask(how, set, old);
        if (!r) return r;
index f62db2f315caef19b20b587f7daefe834a4beed4..4f8589b573871df31c9137153535f927eb9b2334 100644 (file)
@@ -3,7 +3,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int sigtimedwait(const sigset_t *mask, siginfo_t *si, const struct timespec *timeout)
+int sigtimedwait(const sigset_t *restrict mask, siginfo_t *restrict si, const struct timespec *restrict timeout)
 {
        int ret;
        do ret = syscall_cp(SYS_rt_sigtimedwait, mask,
index 9569d6b0203a4162fcb16060b5770dbc448cfc31..48a855bb0a25136caf691775fde1e29c23806d4e 100644 (file)
@@ -1,7 +1,7 @@
 #include <signal.h>
 #include <stddef.h>
 
-int sigwait(const sigset_t *mask, int *sig)
+int sigwait(const sigset_t *restrict mask, int *restrict sig)
 {
        siginfo_t si;
        if (sigtimedwait(mask, &si, NULL) < 0)
index e79feb913c4499fbf314c3b6a0ec5f8e091fd622..c7b164df058429d9ea95bf9f6278bec3a706e471 100644 (file)
@@ -1,7 +1,7 @@
 #include <signal.h>
 #include <stddef.h>
 
-int sigwaitinfo(const sigset_t *mask, siginfo_t *si)
+int sigwaitinfo(const sigset_t *restrict mask, siginfo_t *restrict si)
 {
        return sigtimedwait(mask, si, NULL);
 }
index d6b9390ca442cdffe9620f3335232ca50278444d..863d5268e880d0c53361af6773859ef4994e8e8e 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int fstatat(int fd, const char *path, struct stat *buf, int flag)
+int fstatat(int fd, const char *restrict path, struct stat *restrict buf, int flag)
 {
        return syscall(SYS_fstatat, fd, path, buf, flag);
 }
index 9053d998dc56006071f2f9b4065c1ed4f061b8c4..8f60358c19c19e9df8e5df653522b98935eb411b 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int lstat(const char *path, struct stat *buf)
+int lstat(const char *restrict path, struct stat *restrict buf)
 {
        return syscall(SYS_lstat, path, buf);
 }
index c5491eb0ed26364d2d7ce5f6442c7ba00087dee8..c6de7168dfda86343b0ec16a5c7c6fa05a773e55 100644 (file)
@@ -2,7 +2,7 @@
 #include "syscall.h"
 #include "libc.h"
 
-int stat(const char *path, struct stat *buf)
+int stat(const char *restrict path, struct stat *restrict buf)
 {
        return syscall(SYS_stat, path, buf);
 }
index 5fadb3b4b12d8cf15d5b2506433d538c1a64df4c..637bf82f64653fecee935c8d0df03ce5c76b217c 100644 (file)
@@ -39,7 +39,7 @@ static void fixup(struct statvfs *out, const struct statfs *in)
        out->f_namemax = in->f_namelen;
 }
 
-int statvfs(const char *path, struct statvfs *buf)
+int statvfs(const char *restrict path, struct statvfs *restrict buf)
 {
        struct statfs kbuf;
        if (__statfs(path, &kbuf)<0) return -1;
index fa28322f88a0c302824e476ec12e5dbb8f0b81f1..93082ee79cf9df348e40c3ba5b6ecf159b637beb 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int dprintf(int fd, const char *fmt, ...)
+int dprintf(int fd, const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 5b663d1e172a887f052bfa44e0862558a040c2b8..c3fa0eb0af42982153d5222a7b76e51f941e941e 100644 (file)
@@ -1,6 +1,6 @@
 #include "stdio_impl.h"
 
-int fgetpos(FILE *f, fpos_t *pos)
+int fgetpos(FILE *restrict f, fpos_t *restrict pos)
 {
        off_t off = __ftello(f);
        if (off < 0) return -1;
index 3135a69a2b9ebfe7b8475af708295c9e7e626056..ee0ac30e83bc40a914859fbb770526590a27bfac 100644 (file)
@@ -2,7 +2,7 @@
 
 #define MIN(a,b) ((a)<(b) ? (a) : (b))
 
-char *fgets(char *s, int n, FILE *f)
+char *fgets(char *restrict s, int n, FILE *restrict f)
 {
        char *p = s;
        unsigned char *z;
index 2e76b56547c7a8df43c913825c8ce7e43027cb4d..fab9bd0f131b5f09cb61f3c0c81dc636b48853c6 100644 (file)
@@ -2,7 +2,7 @@
 
 wint_t __fgetwc_unlocked(FILE *);
 
-wchar_t *fgetws(wchar_t *s, int n, FILE *f)
+wchar_t *fgetws(wchar_t *restrict s, int n, FILE *restrict f)
 {
        wchar_t *p = s;
 
index 1b054a970445e71ba5e86d363833c05fceb6faf3..770fd9953a63274cea74a24a4b1a7dd391c33824 100644 (file)
@@ -67,7 +67,7 @@ static int mclose(FILE *m)
        return 0;
 }
 
-FILE *fmemopen(void *buf, size_t size, const char *mode)
+FILE *fmemopen(void *restrict buf, size_t size, const char *restrict mode)
 {
        FILE *f;
        struct cookie *c;
index 0d5b1af25c81f74ffe7b19e2d1dab5d2d6cb3717..560b77e43cafbf53d69dff50a29491308b4631e6 100644 (file)
@@ -1,6 +1,6 @@
 #include "stdio_impl.h"
 
-FILE *fopen(const char *filename, const char *mode)
+FILE *fopen(const char *restrict filename, const char *restrict mode)
 {
        FILE *f;
        int fd;
index a220cc10160283b870a0d5d5de9ad64c9de4624b..948743f7c8b78821645f5eecb7a45f2285d3b78d 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int fprintf(FILE *f, const char *fmt, ...)
+int fprintf(FILE *restrict f, const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index e6bdb204ab0ffe8d3b7b5b028ba3552fc9f3ce55..b41bc8c7c97f157353b55c31d0ea3176bf551f48 100644 (file)
@@ -1,6 +1,6 @@
 #include "stdio_impl.h"
 
-int fputs(const char *s, FILE *f)
+int fputs(const char *restrict s, FILE *restrict f)
 {
        size_t l = strlen(s);
        if (!l) return 0;
index b75f95bc7c47eb529f4e543d20711e0a2fe838ed..0b593c08d1d50d28d0c5832323402de72ec0c42f 100644 (file)
@@ -1,6 +1,6 @@
 #include "stdio_impl.h"
 
-int fputws(const wchar_t *ws, FILE *f)
+int fputws(const wchar_t *restrict ws, FILE *restrict f)
 {
        unsigned char buf[BUFSIZ];
        size_t l=0;
index 5c2357776dc71ccf983ee7015f9ff2b02824bf69..3f31af8a28f15a129edf4697e256e67d1a026aa5 100644 (file)
@@ -2,7 +2,7 @@
 
 #define MIN(a,b) ((a)<(b) ? (a) : (b))
 
-size_t fread(void *destv, size_t size, size_t nmemb, FILE *f)
+size_t fread(void *restrict destv, size_t size, size_t nmemb, FILE *restrict f)
 {
        unsigned char *dest = destv;
        size_t len = size*nmemb, l = len, k;
index b1f8fe71ba25bcdb72e0b9c963bff494cd16698d..57c3cd293b986f857bf96a50db2bd26107d57ac4 100644 (file)
@@ -7,7 +7,7 @@
 /* Locking is not necessary because, in the event of failure, the stream
  * passed to freopen is invalid as soon as freopen is called. */
 
-FILE *freopen(const char *filename, const char *mode, FILE *f)
+FILE *freopen(const char *restrict filename, const char *restrict mode, FILE *restrict f)
 {
        int fl;
        FILE *f2;
index 51fc9b30fb1ef1c58d6923da90f9b2ad3324a4c4..ff6c7767affef698aa4abd41b43c7aef5c5b3392 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int fscanf(FILE *f, const char *fmt, ...)
+int fscanf(FILE *restrict f, const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 26d9729ab4436c95c13e70accaf23960443aa9ff..9ce4f0102e1b57e7224c9c11c47a044373be2ac9 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int fwprintf(FILE *f, const wchar_t *fmt, ...)
+int fwprintf(FILE *restrict f, const wchar_t *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 1b8641acadbfc5f9d9c34070ba6b424ee63dabb3..8027b3061469414d3595d6801f3b4305e3c4499b 100644 (file)
@@ -1,6 +1,6 @@
 #include "stdio_impl.h"
 
-size_t __fwritex(const unsigned char *s, size_t l, FILE *f)
+size_t __fwritex(const unsigned char *restrict s, size_t l, FILE *restrict f)
 {
        size_t i=0;
 
@@ -24,7 +24,7 @@ size_t __fwritex(const unsigned char *s, size_t l, FILE *f)
        return l+i;
 }
 
-size_t fwrite(const void *src, size_t size, size_t nmemb, FILE *f)
+size_t fwrite(const void *restrict src, size_t size, size_t nmemb, FILE *restrict f)
 {
        size_t k, l = size*nmemb;
        if (!l) return l;
index a6892cf667f55626ac06f2070d4b766c530b7a25..2f30dab4718dfa7357f4665ff4d31d542f7b9424 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int fwscanf(FILE *f, const wchar_t *fmt, ...)
+int fwscanf(FILE *restrict f, const wchar_t *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index b7e04acba5767aebd64fcd7aa861163727fa1ac4..5015c3a63b403e874ac46651e8ce0a9ff969f358 100644 (file)
@@ -2,7 +2,7 @@
 
 #define MIN(a,b) ((a)<(b) ? (a) : (b))
 
-ssize_t getdelim(char **s, size_t *n, int delim, FILE *f)
+ssize_t getdelim(char **restrict s, size_t *restrict n, int delim, FILE *restrict f)
 {
        char *tmp;
        unsigned char *z;
index a3a6651b41d7b5bfa3df083287abe642aa813c03..476d0b09617430764552052fc77827f14be8c8a1 100644 (file)
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-ssize_t getline(char **s, size_t *n, FILE *f)
+ssize_t getline(char **restrict s, size_t *restrict n, FILE *restrict f)
 {
        return getdelim(s, n, '\n', f);
 }
index 7b7c329fabdf0c42527adb873b33baa91a6777f6..cebfe404fb97d465545020a76ba9b928cfcbb15a 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int printf(const char *fmt, ...)
+int printf(const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index a04a440257c8b46a0d6e3810d41cdbd2626ecdf0..3b35bdce21f60b8919f7c4381cf1fc3e3c79a974 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int scanf(const char *fmt, ...)
+int scanf(const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 1b98d5039c1896551145e7ebe39511ef02bf70a4..74ad7834ae59f20b8a9c4e25ff471313e6776e24 100644 (file)
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-void setbuf(FILE *f, char *buf)
+void setbuf(FILE *restrict f, char *restrict buf)
 {
        setvbuf(f, buf, buf ? _IOFBF : _IONBF, BUFSIZ);
 }
index 6dea0ebf558c4076b95798c449a8b79994109d2a..541a125ff124b1c1b5aa15949f0890a3d12c6f6b 100644 (file)
@@ -9,7 +9,7 @@
  * In the case of stderr where the preexisting buffer is length 1, it
  * is not possible to set line buffering or full buffering. */
 
-int setvbuf(FILE *f, char *buf, int type, size_t size)
+int setvbuf(FILE *restrict f, char *restrict buf, int type, size_t size)
 {
        f->lbf = EOF;
 
index 4071c2f62510d38203f2da5357971705c509eb4e..771503b284eba969c9f26e0e05416be0083e429d 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int snprintf(char *s, size_t n, const char *fmt, ...)
+int snprintf(char *restrict s, size_t n, const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 6b225409bbd15a3f19fbe10494ae51c56e645c8e..9dff524c0925ed7a6903125cccbd4647b1bcf722 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int sprintf(char *s, const char *fmt, ...)
+int sprintf(char *restrict s, const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index a1cea699b1f12a437b0fa1075d659df1dcb3476c..b575edf7769113dbf645e5412d0f03dac2453107 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int sscanf(const char *s, const char *fmt, ...)
+int sscanf(const char *restrict s, const char *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 5ece97c41ed970b8834362830ce148206b132447..cbf83d235d8e0e436ff942cc1915f33b35848147 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int swprintf(wchar_t *s, size_t n, const wchar_t *fmt, ...)
+int swprintf(wchar_t *restrict s, size_t n, const wchar_t *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index b66ad03ee02c6080fb520e6c3512f51e2df18f35..1fe3c3d888d9842c1b76804ff99bf56c204ce280 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int swscanf(const wchar_t *s, const wchar_t *fmt, ...)
+int swscanf(const wchar_t *restrict s, const wchar_t *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index b41a3c74cecfc08c1f1ad9c2cdbfe6d24af321bf..c35d9b4fb0412fdefb2f4a07c198b8de8b451871 100644 (file)
@@ -5,7 +5,7 @@ static size_t wrap_write(FILE *f, const unsigned char *buf, size_t len)
        return __stdio_write(f, buf, len);
 }
 
-int vdprintf(int fd, const char *fmt, va_list ap)
+int vdprintf(int fd, const char *restrict fmt, va_list ap)
 {
        FILE f = {
                .fd = fd, .lbf = EOF, .write = wrap_write,
index d186d58b5e1530855bf8d5aca388bb56ad658194..6525938f20584ff5c334a23a1cafc0cd36ce62f3 100644 (file)
@@ -636,7 +636,7 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
        return 1;
 }
 
-int vfprintf(FILE *f, const char *fmt, va_list ap)
+int vfprintf(FILE *restrict f, const char *restrict fmt, va_list ap)
 {
        va_list ap2;
        int nl_type[NL_ARGMAX+1] = {0};
index 61b0edb159fbbec9e70c02f5d13202316a100631..54d08495bbe0a163c75dd91d7c379379b448d38b 100644 (file)
@@ -71,7 +71,7 @@ static int readwc(int c, wchar_t **wcs, mbstate_t *st)
        return 0;
 }
 
-int vfscanf(FILE *f, const char *fmt, va_list ap)
+int vfscanf(FILE *restrict f, const char *restrict fmt, va_list ap)
 {
        int width;
        int size;
index 62829806b10386a908296b3bef602bc49ac50f15..a42ba195f8b06c6e1b17feb8d46816773344408d 100644 (file)
@@ -336,7 +336,7 @@ static int wprintf_core(FILE *f, const wchar_t *fmt, va_list *ap, union arg *nl_
        return 1;
 }
 
-int vfwprintf(FILE *f, const wchar_t *fmt, va_list ap)
+int vfwprintf(FILE *restrict f, const wchar_t *restrict fmt, va_list ap)
 {
        va_list ap2;
        int nl_type[NL_ARGMAX] = {0};
index de74fe0c4e5f59ad7d5ef8d742748ac106dbc8b3..b3bc6f3a285ee0a2339aae41d200a15ad4b27b01 100644 (file)
@@ -86,7 +86,7 @@ static int in_set(const wchar_t *set, int c)
        ((f)->rend && (c)<128U ? *--(f)->rpos : ungetwc((c),(f)))
 #endif
 
-int vfwscanf(FILE *f, const wchar_t *fmt, va_list ap)
+int vfwscanf(FILE *restrict f, const wchar_t *restrict fmt, va_list ap)
 {
        int width;
        int size;
index 67b38dacb882a1fdab15cd75edc9920bc6acd026..30d2bffa8821879fc28abac6cc3806b5788366ee 100644 (file)
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-int vprintf(const char *fmt, va_list ap)
+int vprintf(const char *restrict fmt, va_list ap)
 {
        return vfprintf(stdout, fmt, ap);
 }
index 6f55b1c3ac6d413a4d3d6175ee7cf7aec892dc26..6901958a61d03b52e10f9436b7734712ff41c997 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdarg.h>
 
-int vscanf(const char *fmt, va_list ap)
+int vscanf(const char *restrict fmt, va_list ap)
 {
        return vfscanf(stdin, fmt, ap);
 }
index ba17bd7d84079eb5bce14e5d7f341b267975dc17..6f19b0287234bd6f9ff414f5dfd490a563a77bd3 100644 (file)
@@ -10,7 +10,7 @@ static size_t sn_write(FILE *f, const unsigned char *s, size_t l)
        return l;
 }
 
-int vsnprintf(char *s, size_t n, const char *fmt, va_list ap)
+int vsnprintf(char *restrict s, size_t n, const char *restrict fmt, va_list ap)
 {
        int r;
        char b;
index 7836ccb26f088cd85dbbe82092cdad0fcf29106b..c57349d4d888d532b39a15d525d248b0eee3c48d 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <limits.h>
 
-int vsprintf(char *s, const char *fmt, va_list ap)
+int vsprintf(char *restrict s, const char *restrict fmt, va_list ap)
 {
        return vsnprintf(s, INT_MAX, fmt, ap);
 }
index fbc15e69dc41a21ebabcfc09968ba6c5ad92076b..049f4dd0e6c506940fe1d25479da669cdd73991f 100644 (file)
@@ -5,7 +5,7 @@ static size_t do_read(FILE *f, unsigned char *buf, size_t len)
        return __string_read(f, buf, len);
 }
 
-int vsscanf(const char *s, const char *fmt, va_list ap)
+int vsscanf(const char *restrict s, const char *restrict fmt, va_list ap)
 {
        FILE f = {
                .buf = (void *)s, .cookie = (void *)s,
index 8e8f80ce9cf5a18dd9e282e4ece80d307590ecef..f3d4fec1903682ccf0413871cbcf2f6f609b2224 100644 (file)
@@ -22,7 +22,7 @@ static size_t sw_write(FILE *f, const unsigned char *s, size_t l)
        return i<0 ? i : l0;
 }
 
-int vswprintf(wchar_t *s, size_t n, const wchar_t *fmt, va_list ap)
+int vswprintf(wchar_t *restrict s, size_t n, const wchar_t *restrict fmt, va_list ap)
 {
        int r;
        FILE f;
index 4c39f80655ddccc8e3599008427710a4da864b16..a205200a871c1b2dc290aaaac9e01efe382aa892 100644 (file)
@@ -23,7 +23,7 @@ static size_t wstring_read(FILE *f, unsigned char *buf, size_t len)
        return 1;
 }
 
-int vswscanf(const wchar_t *s, const wchar_t *fmt, va_list ap)
+int vswscanf(const wchar_t *restrict s, const wchar_t *restrict fmt, va_list ap)
 {
        unsigned char buf[256];
        FILE f = {
index c1923e627b19b726e2029ebb84ebfd38a8a3be4c..eeeecdc7c62ae1508d135eeb5e52095550cbb0f6 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <wchar.h>
 
-int vwprintf(const wchar_t *fmt, va_list ap)
+int vwprintf(const wchar_t *restrict fmt, va_list ap)
 {
        return vfwprintf(stdout, fmt, ap);
 }
index 86da04572c225ac60084fb4f215a0d9393659351..9297cf0d9455c183ee42fdb5d9c23f0081361fc9 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int vwscanf(const wchar_t *fmt, va_list ap)
+int vwscanf(const wchar_t *restrict fmt, va_list ap)
 {
        return vfwscanf(stdin, fmt, ap);
 }
index 20ca61a0c6061a676ffb8ec267a724eb7462aafa..342cd97911d365e4f787a95280b1ae7a9c631df3 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int wprintf(const wchar_t *fmt, ...)
+int wprintf(const wchar_t *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 34b58846c18e5fa1bb13c29c84cbad739ef4e6e6..a207cc1b703c8ee130428daa82169a36a418f2d9 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdarg.h>
 #include <wchar.h>
 
-int wscanf(const wchar_t *fmt, ...)
+int wscanf(const wchar_t *restrict fmt, ...)
 {
        int ret;
        va_list ap;
index 1886efa5e2c17089e68ef67b5695f615c25708b6..c6f89e79252a8bcba4f8470474ded5b3fc88d3b3 100644 (file)
@@ -16,17 +16,17 @@ static long double strtox(const char *s, char **p, int prec)
        return y;
 }
 
-float strtof(const char *s, char **p)
+float strtof(const char *restrict s, char **restrict p)
 {
        return strtox(s, p, 0);
 }
 
-double strtod(const char *s, char **p)
+double strtod(const char *restrict s, char **restrict p)
 {
        return strtox(s, p, 1);
 }
 
-long double strtold(const char *s, char **p)
+long double strtold(const char *restrict s, char **restrict p)
 {
        return strtox(s, p, 2);
 }
index 4a949cb05658cb4152141fdc29d5515f32632c70..23a2f3b6590bdfc3e4b114902abed698ca6b2388 100644 (file)
@@ -22,32 +22,32 @@ static unsigned long long strtox(const char *s, char **p, int base, unsigned lon
        return y;
 }
 
-unsigned long long strtoull(const char *s, char **p, int base)
+unsigned long long strtoull(const char *restrict s, char **restrict p, int base)
 {
        return strtox(s, p, base, ULLONG_MAX);
 }
 
-long long strtoll(const char *s, char **p, int base)
+long long strtoll(const char *restrict s, char **restrict p, int base)
 {
        return strtox(s, p, base, LLONG_MIN);
 }
 
-unsigned long strtoul(const char *s, char **p, int base)
+unsigned long strtoul(const char *restrict s, char **restrict p, int base)
 {
        return strtox(s, p, base, ULONG_MAX);
 }
 
-long strtol(const char *s, char **p, int base)
+long strtol(const char *restrict s, char **restrict p, int base)
 {
        return strtox(s, p, base, 0UL+LONG_MIN);
 }
 
-intmax_t strtoimax(const char *s, char **p, int base)
+intmax_t strtoimax(const char *restrict s, char **restrict p, int base)
 {
        return strtoll(s, p, base);
 }
 
-uintmax_t strtoumax(const char *s, char **p, int base)
+uintmax_t strtoumax(const char *restrict s, char **restrict p, int base)
 {
        return strtoull(s, p, base);
 }
index 5ec45dd7abc345365350fec96c30eae6d96f04b8..03670b0bf03ce6682ba2d34220b4f5058f9f0e60 100644 (file)
@@ -47,17 +47,17 @@ static long double wcstox(const wchar_t *s, wchar_t **p, int prec)
        return y;
 }
 
-float wcstof(const wchar_t *s, wchar_t **p)
+float wcstof(const wchar_t *restrict s, wchar_t **restrict p)
 {
        return wcstox(s, p, 0);
 }
 
-double wcstod(const wchar_t *s, wchar_t **p)
+double wcstod(const wchar_t *restrict s, wchar_t **restrict p)
 {
        return wcstox(s, p, 1);
 }
 
-long double wcstold(const wchar_t *s, wchar_t **p)
+long double wcstold(const wchar_t *restrict s, wchar_t **restrict p)
 {
        return wcstox(s, p, 2);
 }
index 840bb0a6d8209163595b2e7db1cea813de3b31ba..3d7c97da6b257ceee089e80241db7061f5b38c87 100644 (file)
@@ -47,32 +47,32 @@ static unsigned long long wcstox(const wchar_t *s, wchar_t **p, int base, unsign
        return y;
 }
 
-unsigned long long wcstoull(const wchar_t *s, wchar_t **p, int base)
+unsigned long long wcstoull(const wchar_t *restrict s, wchar_t **restrict p, int base)
 {
        return wcstox(s, p, base, ULLONG_MAX);
 }
 
-long long wcstoll(const wchar_t *s, wchar_t **p, int base)
+long long wcstoll(const wchar_t *restrict s, wchar_t **restrict p, int base)
 {
        return wcstox(s, p, base, LLONG_MIN);
 }
 
-unsigned long wcstoul(const wchar_t *s, wchar_t **p, int base)
+unsigned long wcstoul(const wchar_t *restrict s, wchar_t **restrict p, int base)
 {
        return wcstox(s, p, base, ULONG_MAX);
 }
 
-long wcstol(const wchar_t *s, wchar_t **p, int base)
+long wcstol(const wchar_t *restrict s, wchar_t **restrict p, int base)
 {
        return wcstox(s, p, base, 0UL+LONG_MIN);
 }
 
-intmax_t wcstoimax(const wchar_t *s, wchar_t **p, int base)
+intmax_t wcstoimax(const wchar_t *restrict s, wchar_t **restrict p, int base)
 {
        return wcstoll(s, p, base);
 }
 
-uintmax_t wcstoumax(const wchar_t *s, wchar_t **p, int base)
+uintmax_t wcstoumax(const wchar_t *restrict s, wchar_t **restrict p, int base)
 {
        return wcstoull(s, p, base);
 }
index 2ccb31bb012b3b29cd536845ed1423c5a431054a..b85009c8706e9bb050dd3340a3ff385fb215165d 100644 (file)
@@ -8,7 +8,7 @@
 #define HIGHS (ONES * (UCHAR_MAX/2+1))
 #define HASZERO(x) ((x)-ONES & ~(x) & HIGHS)
 
-void *memccpy(void *dest, const void *src, int c, size_t n)
+void *memccpy(void *restrict dest, const void *restrict src, int c, size_t n)
 {
        unsigned char *d = dest;
        const unsigned char *s = src;
index 02cb4694252e5c0b07e6c5666a8f53018d493107..8e98302f3d3f0777f3bb5a98e52e98ebb8a69662 100644 (file)
@@ -6,7 +6,7 @@
 #define ALIGN (sizeof(size_t)-1)
 #define ONES ((size_t)-1/UCHAR_MAX)
 
-void *memcpy(void *dest, const void *src, size_t n)
+void *memcpy(void *restrict dest, const void *restrict src, size_t n)
 {
        unsigned char *d = dest;
        const unsigned char *s = src;
index 10ca4933d2bad8ac2c3320d6e0cd18f6e83a0e36..da96f215cf4228cc68e4eeccd3aeabdf0e1be223 100644 (file)
@@ -9,7 +9,7 @@
 #define HIGHS (ONES * (UCHAR_MAX/2+1))
 #define HASZERO(x) ((x)-ONES & ~(x) & HIGHS)
 
-char *__stpcpy(char *d, const char *s)
+char *__stpcpy(char *restrict d, const char *restrict s)
 {
        size_t *wd;
        const size_t *ws;
index a04cdce8f9214acf293352f2f61267567a700c1a..0a2c2a9d716e1a9f0591d56e6e35a7c0a0fbe0ef 100644 (file)
@@ -9,7 +9,7 @@
 #define HIGHS (ONES * (UCHAR_MAX/2+1))
 #define HASZERO(x) ((x)-ONES & ~(x) & HIGHS)
 
-char *__stpncpy(char *d, const char *s, size_t n)
+char *__stpncpy(char *restrict d, const char *restrict s, size_t n)
 {
        size_t *wd;
        const size_t *ws;
index 29fdb61164a38e5aa524dfbd98e020e2b6e83d62..33f749b1d21c59c0308a08d6bed1339607a0bbd5 100644 (file)
@@ -1,6 +1,6 @@
 #include <string.h>
 
-char *strcat(char *dest, const char *src)
+char *strcat(char *restrict dest, const char *restrict src)
 {
        strcpy(dest + strlen(dest), src);
        return dest;
index 7675e9cea22ebd5f5c91603e3bc315639e0c5f75..f7e3ba38c16e3e69395f85dcdd6c23bb20797a6c 100644 (file)
@@ -2,7 +2,7 @@
 
 char *__stpcpy(char *, const char *);
 
-char *strcpy(char *dest, const char *src)
+char *strcpy(char *restrict dest, const char *restrict src)
 {
 #if 1
        __stpcpy(dest, src);
index 08685ad6aadafdb503178057506fed584431bdd0..01ca2a2317c6f29ecc1289e94b76b72c69698ea8 100644 (file)
@@ -1,6 +1,6 @@
 #include <string.h>
 
-char *strncat(char *d, const char *s, size_t n)
+char *strncat(char *restrict d, const char *restrict s, size_t n)
 {
        char *a = d;
        d += strlen(d);
index c0cd7974e1275b6c51b83fa637cb369dd2f3a871..441ba0335f7377da1562644d9436d5fbc9c2d6e7 100644 (file)
@@ -2,7 +2,7 @@
 
 char *__stpncpy(char *, const char *, size_t);
 
-char *strncpy(char *d, const char *s, size_t n)
+char *strncpy(char *restrict d, const char *restrict s, size_t n)
 {
        __stpncpy(d, s, n);
        return d;
index 1ba221cb4e6a3266e5f0899da179303c113e5a14..35087902d66ac7c413c6b0bfd1d7446b5b68afef 100644 (file)
@@ -1,6 +1,6 @@
 #include <string.h>
 
-char *strtok(char *s, const char *sep)
+char *strtok(char *restrict s, const char *restrict sep)
 {
        static char *p;
        if (!s && !(s = p)) return NULL;
index c763897afa5f385bcc642506fd5bb84c14d509d9..862d4fe48550fdb7f3c97f2f271f98fb34206dd0 100644 (file)
@@ -1,6 +1,6 @@
 #include <string.h>
 
-char *strtok_r(char *s, const char *sep, char **p)
+char *strtok_r(char *restrict s, const char *restrict sep, char **restrict p)
 {
        if (!s && !(s = *p)) return NULL;
        s += strspn(s, sep);
index b2132884c3c4dfdbc971874221f76c19a3127c8e..9ed6fcda9dee6ec83a33e4f0e1566ca80e2c7c2a 100644 (file)
@@ -1,6 +1,6 @@
 #include <unistd.h>
 
-void swab(const void *_src, void *_dest, ssize_t n)
+void swab(const void *restrict _src, void *restrict _dest, ssize_t n)
 {
        const char *src = _src;
        char *dest = _dest;
index fdf878f64cf8ea57fa362a93329f4d8764ac6572..ef401343323b43c6216aa5c6621a8eb43486374b 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcpcpy(wchar_t *d, const wchar_t *s)
+wchar_t *wcpcpy(wchar_t *restrict d, const wchar_t *restrict s)
 {
        return wcscpy(d, s) + wcslen(s);
 }
index aef8096237cd7db0bacb8b47d8daf85c5bd9bf88..b667f6d6a8dbb5f96b1fdf21f44384aa561a8447 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcpncpy(wchar_t *d, const wchar_t *s, size_t n)
+wchar_t *wcpncpy(wchar_t *restrict d, const wchar_t *restrict s, size_t n)
 {
        return wcsncpy(d, s, n) + wcsnlen(s, n);
 }
index 946f16e241ebc173f76401e2465bd1382254ac28..d4f00ebdfe0bced482a167e2f891db585aa322d5 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcscat(wchar_t *dest, const wchar_t *src)
+wchar_t *wcscat(wchar_t *restrict dest, const wchar_t *restrict src)
 {
        wcscpy(dest + wcslen(dest), src);
        return dest;
index e0ac194f3a1f4a31d81e981cba6c8646eed479c8..625bf53d08768c8b147199e8ecd9f1689a342e02 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcscpy(wchar_t *d, const wchar_t *s)
+wchar_t *wcscpy(wchar_t *restrict d, const wchar_t *restrict s)
 {
        wchar_t *a = d;
        while ((*d++ = *s++));
index 9d61bbbd61cecfb5d69a623ded1f751d6a5d1d84..8563f1a2a701c1788fa3cda8840137083916653d 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcsncat(wchar_t *d, const wchar_t *s, size_t n)
+wchar_t *wcsncat(wchar_t *restrict d, const wchar_t *restrict s, size_t n)
 {
        wchar_t *a = d;
        d += wcslen(d);
index 714eeb641ae865216c77cd32249824f15377f07e..4bede04d251e017e4f62fa67c3e0176f2905545c 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcsncpy(wchar_t *d, const wchar_t *s, size_t n)
+wchar_t *wcsncpy(wchar_t *restrict d, const wchar_t *restrict s, size_t n)
 {
        wchar_t *a = d;
        while (n && *s) n--, *d++ = *s++;
index fc4bacece5d6f891650574b3054fbff05dcbd4be..037d096578e1c647678560169eadb1679a5114c3 100644 (file)
@@ -93,7 +93,7 @@ static wchar_t *twoway_wcsstr(const wchar_t *h, const wchar_t *n)
        }
 }
 
-wchar_t *wcsstr(const wchar_t *h, const wchar_t *n)
+wchar_t *wcsstr(const wchar_t *restrict h, const wchar_t *restrict n)
 {
        /* Return immediately on empty needle or haystack */
        if (!n[0]) return (wchar_t *)h;
index c932d0a06d62c935be0d1da2f0dbc66ac5a98d36..ecc8033190c781c6f75574686d3681254dee843f 100644 (file)
@@ -1,6 +1,6 @@
 #include <wchar.h>
 
-wchar_t *wcstok(wchar_t *s, const wchar_t *sep, wchar_t **p)
+wchar_t *wcstok(wchar_t *restrict s, const wchar_t *restrict sep, wchar_t **restrict p)
 {
        if (!s && !(s = *p)) return NULL;
        s += wcsspn(s, sep);
index 330e37c7a960209d00602dd72f80a0e12a0a1951..55a8e1d8caec2b966101ce713ae177b365956253 100644 (file)
@@ -1,7 +1,7 @@
 #include <string.h>
 #include <wchar.h>
 
-wchar_t *wmemcpy(wchar_t *d, const wchar_t *s, size_t n)
+wchar_t *wmemcpy(wchar_t *restrict d, const wchar_t *restrict s, size_t n)
 {
        wchar_t *a = d;
        while (n--) *d++ = *s++;
index 71133f808242467ce2a7486bb56a5f268abf59e3..93ba05dd146e67df436333075869f0dba8e1737e 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_attr_getguardsize(const pthread_attr_t *a, size_t *size)
+int pthread_attr_getguardsize(const pthread_attr_t *restrict a, size_t *restrict size)
 {
        *size = a->_a_guardsize + DEFAULT_GUARD_SIZE;
        return 0;
index 804f6f0f75cedcf72d535f8c7d99988c55c4b543..5806bdf19cb0f27c4c9bf5b8fedcb21c8a487132 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_attr_getschedparam(const pthread_attr_t *a, struct sched_param *param)
+int pthread_attr_getschedparam(const pthread_attr_t *restrict a, struct sched_param *restrict param)
 {
        param->sched_priority = 0;
        return 0;
index fc42a52f3c6619c6e6b2dfdceacfa9921445e11a..c0167b6a9036c08f27e388f26ba4696971232ee8 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_attr_getscope(const pthread_attr_t *a, int *scope)
+int pthread_attr_getscope(const pthread_attr_t *restrict a, int *restrict scope)
 {
        return 0;
 }
index 07ac5926c0bee747ebc27beff65d238e04b356ee..70adbb03a32bd40333c196c80a25b3e7dd5c8636 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_attr_getstack(const pthread_attr_t *a, void **addr, size_t *size)
+int pthread_attr_getstack(const pthread_attr_t *restrict a, void **restrict addr, size_t *restrict size)
 {
        if (!a->_a_stackaddr)
                return EINVAL;
index 9575203d6d5f3992d96e1ab36c1da7537ec72b2e..f69cc1e6fd514bde9909a8afd44ee880f71537d7 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_attr_getstacksize(const pthread_attr_t *a, size_t *size)
+int pthread_attr_getstacksize(const pthread_attr_t *restrict a, size_t *restrict size)
 {
        *size = a->_a_stacksize + DEFAULT_STACK_SIZE;
        return 0;
index b305f2fae46a1a0d11c58a54fad83eb681681631..77ce9c986a90b3eb368bb0e7bfa5992383558db8 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_attr_setschedparam(pthread_attr_t *a, const struct sched_param *param)
+int pthread_attr_setschedparam(pthread_attr_t *restrict a, const struct sched_param *restrict param)
 {
        if (param->sched_priority) return ENOTSUP;
        return 0;
index ccaab4ebdd7fe943a3112f9d7911d1b52dc94247..01e8cd6bf655e167d66f9060e73f69721f997656 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_barrier_init(pthread_barrier_t *b, const pthread_barrierattr_t *a, unsigned count)
+int pthread_barrier_init(pthread_barrier_t *restrict b, const pthread_barrierattr_t *restrict a, unsigned count)
 {
        if (count-1 > INT_MAX-1) return EINVAL;
        *b = (pthread_barrier_t){ ._b_limit = count-1 | (a?*a:0) };
index 8428bbecf38606b12e1667a4bb735c2d4f9591e4..df337c29caf7011ad59c07b1aff25f9cbf6e2f30 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_barrierattr_getpshared(const pthread_barrierattr_t *a, int *pshared)
+int pthread_barrierattr_getpshared(const pthread_barrierattr_t *restrict a, int *restrict pshared)
 {
        *pshared = !!*a;
        return 0;
index 03aff76840a8d15b7877fdb72f690980f753fab1..2eac30f15e8b7903152a934a5d44533f0617b76d 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_cond_init(pthread_cond_t *c, const pthread_condattr_t *a)
+int pthread_cond_init(pthread_cond_t *restrict c, const pthread_condattr_t *restrict a)
 {
        memset(c, 0, sizeof *c);
        if (a) {
index 1d0f578cc2a89cee9f13b8708605fda52c7d3f35..1f25c8e7b52ff2d8658d5021f2491a4dffbce0c6 100644 (file)
@@ -36,7 +36,7 @@ static void cleanup(void *p)
        pthread_mutex_lock(cm->m);
 }
 
-int pthread_cond_timedwait(pthread_cond_t *c, pthread_mutex_t *m, const struct timespec *ts)
+int pthread_cond_timedwait(pthread_cond_t *restrict c, pthread_mutex_t *restrict m, const struct timespec *restrict ts)
 {
        struct cm cm = { .c=c, .m=m };
        int r, e=0, seq;
index eb70e5f796be4d6d647e7aa5d8dcc30cf66c0794..8735bf147867a6b0c1c9db457dd4ba969e89210a 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_cond_wait(pthread_cond_t *c, pthread_mutex_t *m)
+int pthread_cond_wait(pthread_cond_t *restrict c, pthread_mutex_t *restrict m)
 {
        return pthread_cond_timedwait(c, m, 0);
 }
index a77cc3e029c784663a01f3e6581c846f2b2acaa6..d2933843a86427705dab981b1760923b775c9033 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_condattr_getclock(const pthread_condattr_t *a, clockid_t *clk)
+int pthread_condattr_getclock(const pthread_condattr_t *restrict a, clockid_t *restrict clk)
 {
        *clk = *a & 0x7fffffff;
        return 0;
index b620976c896fb04396b4b247b439ca07f2fea3a1..4991e495a7057437577863952f5f7a9cd1a14074 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_condattr_getpshared(const pthread_condattr_t *a, int *pshared)
+int pthread_condattr_getpshared(const pthread_condattr_t *restrict a, int *restrict pshared)
 {
        *pshared = *a>>31;
        return 0;
index 52b48d6f17e39767c36ff7d78f6a612f055dc9d2..4567b41c68d3458376b6235d0e355c6ab86125ba 100644 (file)
@@ -84,7 +84,7 @@ static void init_file_lock(FILE *f)
        if (f && f->lock<0) f->lock = 0;
 }
 
-int pthread_create(pthread_t *res, const pthread_attr_t *attr, void *(*entry)(void *), void *arg)
+int pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict attr, void *(*entry)(void *), void *restrict arg)
 {
        int ret;
        size_t size = DEFAULT_STACK_SIZE + DEFAULT_GUARD_SIZE;
index 75ddf02bc129e4398d7ccf1b4bbfc0d0234d2437..fb689271ce7affd0171368005ceebc03abcf6cff 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_mutex_init(pthread_mutex_t *m, const pthread_mutexattr_t *a)
+int pthread_mutex_init(pthread_mutex_t *restrict m, const pthread_mutexattr_t *restrict a)
 {
        memset(m, 0, sizeof *m);
        if (a) m->_m_type = *a & 7;
index 44bd4bbeb1aee375d6facdaafdc1ac958eda9c7b..c24270d8f54ee6e36d30067b6ffee8b67a2a6652 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_mutex_timedlock(pthread_mutex_t *m, const struct timespec *at)
+int pthread_mutex_timedlock(pthread_mutex_t *restrict m, const struct timespec *restrict at)
 {
        int r, t;
 
index 3e0438b3aad59aaa734b7a0468b3a9470ee2d1ee..e7340b1ab3c29ae859825a11b13379cfe955ecce 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_mutexattr_getpshared(const pthread_mutexattr_t *a, int *pshared)
+int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict a, int *restrict pshared)
 {
        *pshared = *a>>31;
        return 0;
index b83cb7c604091d9a28d0b1f99ca701c6ca24643d..4d176f20c78f2ed044215a1941c12c6f6d88d5be 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_mutexattr_getrobust(const pthread_mutexattr_t *a, int *robust)
+int pthread_mutexattr_getrobust(const pthread_mutexattr_t *restrict a, int *restrict robust)
 {
        *robust = *a / 4U % 2;
        return 0;
index 9edb16c66e6a70fae1d5ac56bfe206a2d12c27a0..7688b068775848a355b456a5a34faa1060725a5c 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_mutexattr_gettype(const pthread_mutexattr_t *a, int *type)
+int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict a, int *restrict type)
 {
        *type = *a & 3;
        return 0;
index f87d566c46ae3f760dc63d1d24f6ce19a087d800..29003bc651493d551eabef97f68fbf795101debf 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_rwlock_init(pthread_rwlock_t *rw, const pthread_rwlockattr_t *a)
+int pthread_rwlock_init(pthread_rwlock_t *restrict rw, const pthread_rwlockattr_t *restrict a)
 {
        memset(rw, 0, sizeof *rw);
        if (a) {
index b5cb404a82d864e35ce1e83a4faf121a757ad1f9..c0c94c97505793272365679efacbe43d5fc32446 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_rwlock_timedrdlock(pthread_rwlock_t *rw, const struct timespec *at)
+int pthread_rwlock_timedrdlock(pthread_rwlock_t *restrict rw, const struct timespec *restrict at)
 {
        int r, t;
        while ((r=pthread_rwlock_tryrdlock(rw))==EBUSY) {
index aa2fd199ad0977cd7e55c183a86fea27f853dae2..339a1679c252bba42edfebdfda136f864aa4a3f7 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_rwlock_timedwrlock(pthread_rwlock_t *rw, const struct timespec *at)
+int pthread_rwlock_timedwrlock(pthread_rwlock_t *restrict rw, const struct timespec *restrict at)
 {
        int r, t;
        while ((r=pthread_rwlock_trywrlock(rw))==EBUSY) {
index 0217bf4e5fefc3999c4930182c77d89e9a5bf884..02fd8c807958c6b70202913e9adc9d4b8fe06be2 100644 (file)
@@ -1,6 +1,6 @@
 #include "pthread_impl.h"
 
-int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *a, int *pshared)
+int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict a, int *restrict pshared)
 {
        *pshared = *(int *)a;
        return 0;
index cddc2bca7680bcc36165f4f26316b30bb423ee4e..f6102ad4dc6b76eb79c19a46a9828f76266e5c81 100644 (file)
@@ -3,7 +3,7 @@
 #include <pthread.h>
 #include "syscall.h"
 
-int pthread_sigmask(int how, const sigset_t *set, sigset_t *old)
+int pthread_sigmask(int how, const sigset_t *restrict set, sigset_t *restrict old)
 {
        int ret;
        if ((unsigned)how - SIG_BLOCK > 2U) return EINVAL;
index 643c096877b9ee7c1dde3dc679828d58375f96be..d9d830717730d238182b249849d7aaa1100c9501 100644 (file)
@@ -1,6 +1,6 @@
 #include <semaphore.h>
 
-int sem_getvalue(sem_t *sem, int *valp)
+int sem_getvalue(sem_t *restrict sem, int *restrict valp)
 {
        int val = sem->__val[0];
        *valp = val < 0 ? 0 : val;
index 64b4342ca2212ef0744440e705c6b6bf1e3692c5..6d0d0114220890b1a6557cfe50a8c8327fc2dfb2 100644 (file)
@@ -6,7 +6,7 @@ static void cleanup(void *p)
        a_dec(p);
 }
 
-int sem_timedwait(sem_t *sem, const struct timespec *at)
+int sem_timedwait(sem_t *restrict sem, const struct timespec *restrict at)
 {
        while (sem_trywait(sem)) {
                int r;
index 7cc4f503ffc2c5662f8779d2f8c1e992726c1267..5362f0db39279effd95458a68f199eb4961cc5d7 100644 (file)
@@ -5,7 +5,7 @@
 
 const char *__langinfo(nl_item);
 
-char *__asctime(const struct tm *tm, char *buf)
+char *__asctime(const struct tm *restrict tm, char *restrict buf)
 {
        /* FIXME: change __langinfo to __C_langinfo once we have locales */
        if (snprintf(buf, 26, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n",
index e51b88045aee24535101c6e4543c22420cb27a29..7dfbb1210371b3d281b81f0bf443a6337a41eee0 100644 (file)
@@ -1,8 +1,8 @@
 #include <time.h>
 
-char *__asctime(const struct tm *, char *);
+char *__asctime(const struct tm *restrict, char *restrict);
 
-char *asctime_r(const struct tm *tm, char *buf)
+char *asctime_r(const struct tm *restrict tm, char *restrict buf)
 {
        return __asctime(tm, buf);
 }
index 09afb70bf8ef4f8ba7ccb12fe381319023f105f0..691f8e9043b2c61bf8b49faf03cf902a81b1c964 100644 (file)
@@ -2,7 +2,7 @@
 #include <sys/time.h>
 #include "syscall.h"
 
-int gettimeofday(struct timeval *tv, void *tz)
+int gettimeofday(struct timeval *restrict tv, void *restrict tz)
 {
        struct timespec ts;
        if (!tv) return 0;
index 5b565a65c0967f8ac6ddcaa563663f738ca40fc6..13a2548fd44b9427e0a3450fb9f6fc9842b1661e 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "__time.h"
 
-struct tm *gmtime_r(const time_t *t, struct tm *result)
+struct tm *gmtime_r(const time_t *restrict t, struct tm *restrict result)
 {
        __time_to_tm(*t, result);
        result->tm_isdst = 0;
index 2bf10378830f18d1a222b8104e1c134e712872a2..389a5917f2bbe1e9c7ddba579e853e76e4309271 100644 (file)
@@ -2,7 +2,7 @@
 
 #include "__time.h"
 
-struct tm *localtime_r(const time_t *t, struct tm *result)
+struct tm *localtime_r(const time_t *restrict t, struct tm *restrict result)
 {
        __tzset();
        __time_to_tm(*t - __timezone, result);
index f1b9463114281a6a792f2247cd351fa647a7ad94..b69a83a4aeec0db37dbc17dc5fa42a2ad4b86df3 100644 (file)
@@ -8,7 +8,7 @@
 
 const char *__langinfo(nl_item);
 
-size_t strftime(char *s, size_t n, const char *f, const struct tm *tm)
+size_t strftime(char *restrict s, size_t n, const char *restrict f, const struct tm *restrict tm)
 {
        nl_item item;
        int val;
index 4c0bb26ca4a1409d284458bc6a7358159ff7bf41..0f66e6c65498fad6c682a315d3bf65a289eb998f 100644 (file)
@@ -7,7 +7,7 @@
 #include <string.h>
 #include <strings.h>
 
-char *strptime(const char *s, const char *f, struct tm *tm)
+char *strptime(const char *restrict s, const char *restrict f, struct tm *restrict tm)
 {
        int i, w, neg, adj, min, range, *dest;
        const char *ex;
index 813678a1608360381197c77c93eb5183a154f8ec..560f1a8468384ff0e4f189314903bc31e4aebcd7 100644 (file)
@@ -76,7 +76,7 @@ static void *start(void *arg)
        return 0;
 }
 
-int timer_create(clockid_t clk, struct sigevent *evp, timer_t *res)
+int timer_create(clockid_t clk, struct sigevent *restrict evp, timer_t *restrict res)
 {
        static pthread_once_t once = PTHREAD_ONCE_INIT;
        pthread_t td;
index c400d45c3d0b4e597aed8050aab6174e32913630..baf5076b6c3f979aa18b00468f896ef766f57a07 100644 (file)
@@ -1,7 +1,7 @@
 #include <time.h>
 #include "pthread_impl.h"
 
-int timer_settime(timer_t t, int flags, const struct itimerspec *val, struct itimerspec *old)
+int timer_settime(timer_t t, int flags, const struct itimerspec *restrict val, struct itimerspec *restrict old)
 {
        if ((uintptr_t)t >= 0x100000) t = ((pthread_t)t)->result;
        return syscall(SYS_timer_settime, (long)t, flags, val, old);
index 7db76922adf3ac97f62c915ecd6366352a476e60..da6c1f8a5e90f42b7ab2e10b8e1cdc11cd5f3088 100644 (file)
@@ -2,7 +2,7 @@
 #include <time.h>
 #include <string.h>
 
-size_t wcsftime(wchar_t *wcs, size_t n, const wchar_t *f, const struct tm *tm)
+size_t wcsftime(wchar_t *restrict wcs, size_t n, const wchar_t *restrict f, const struct tm *restrict tm)
 {
        size_t k, n0=n;
        char out[100], in[4];
index 0c6d3861392e2db286176655805980ed6cfa5ecd..ec291e3dfd320c4045e6f4f372e60944aa5a6040 100644 (file)
@@ -1,7 +1,7 @@
 #include <unistd.h>
 #include "syscall.h"
 
-ssize_t readlink(const char *path, char *buf, size_t bufsize)
+ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize)
 {
        return syscall(SYS_readlink, path, buf, bufsize);
 }
index e9498650bf0972e3cb79dc4adbb56b3c3d98e06f..9af45cd5a47d1e23c673806704a2cf07d75d948f 100644 (file)
@@ -1,7 +1,7 @@
 #include <unistd.h>
 #include "syscall.h"
 
-ssize_t readlinkat(int fd, const char *path, char *buf, size_t bufsize)
+ssize_t readlinkat(int fd, const char *restrict path, char *restrict buf, size_t bufsize)
 {
        return syscall(SYS_readlinkat, fd, path, buf, bufsize);
 }