aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/search.h3
-rw-r--r--misc/sys/cdefs.h6
-rw-r--r--misc/sys/select.h24
3 files changed, 22 insertions, 11 deletions
diff --git a/misc/search.h b/misc/search.h
index 0ea91c2150..7722be9670 100644
--- a/misc/search.h
+++ b/misc/search.h
@@ -136,7 +136,8 @@ extern void *tfind (__const void *__key, void *__const *__rootp,
__compar_fn_t __compar);
/* Remove the element matching KEY from the tree pointed to by *ROOTP. */
-extern void *tdelete (__const void *__key, void **__rootp,
+extern void *tdelete (__const void *__restrict __key,
+ void **__restrict __rootp,
__compar_fn_t __compar);
#ifndef __ACTION_FN_T
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 9960239688..a4535e3cac 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -163,4 +163,10 @@
# define __restrict /* Ignore */
#endif
+/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is
+ array_name[restrict]
+ But gcc so far does not support this syntax. We define a separate macro
+ for this which can be enabled if the underlying compiler supports it. */
+#define __restrict_arr
+
#endif /* sys/cdefs.h */
diff --git a/misc/sys/select.h b/misc/sys/select.h
index 15130cbab3..ff5ba6b39f 100644
--- a/misc/sys/select.h
+++ b/misc/sys/select.h
@@ -1,5 +1,5 @@
/* `fd_set' type and related macros, and `select'/`pselect' declarations.
- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -71,12 +71,14 @@ typedef __fd_set fd_set;
(if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out
after waiting the interval specified therein. Returns the number of ready
descriptors, or -1 for errors. */
-extern int __select (int __nfds, __fd_set *__readfds,
- __fd_set *__writefds, __fd_set *__exceptfds,
- struct timeval *__timeout) __THROW;
-extern int select (int __nfds, __fd_set *__readfds,
- __fd_set *__writefds, __fd_set *__exceptfds,
- struct timeval *__timeout) __THROW;
+extern int __select (int __nfds, __fd_set *__restrict __readfds,
+ __fd_set *__restrict __writefds,
+ __fd_set *__restrict __exceptfds,
+ struct timeval *__restrict __timeout) __THROW;
+extern int select (int __nfds, __fd_set *__restrict __readfds,
+ __fd_set *__restrict __writefds,
+ __fd_set *__restrict __exceptfds,
+ struct timeval *__restrict __timeout) __THROW;
#ifdef __USE_GNU
/* XXX Once/if POSIX.1g gets official this prototype will be available
@@ -84,9 +86,11 @@ extern int select (int __nfds, __fd_set *__readfds,
/* Same as above only that the TIMEOUT value is given with higher
resolution and a sigmask which is been set temporarily. This version
should be used. */
-extern int pselect (int __nfds, __fd_set *__readfds, __fd_set *__writefds,
- __fd_set *__exceptfds, const struct timespec *__timeout,
- const __sigset_t *__sigmask) __THROW;
+extern int pselect (int __nfds, __fd_set *__restrict __readfds,
+ __fd_set *__restrict __writefds,
+ __fd_set *__restrict __exceptfds,
+ const struct timespec *__restrict __timeout,
+ const __sigset_t *__restrict __sigmask) __THROW;
#endif
__END_DECLS