about summary refs log tree commit diff
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