use restrict everywhere it's required by c99 and/or posix 2008

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.
This commit is contained in:
Rich Felker 2012-09-06 22:44:55 -04:00
commit 400c5e5c83
192 changed files with 552 additions and 382 deletions

View 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));