diff options
Diffstat (limited to 'misc/sys/cdefs.h')
-rw-r--r-- | misc/sys/cdefs.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 0c1d2de45b..ec3b48d212 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -195,8 +195,20 @@ /* 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 + GCC 3.1 supports this. */ +#if __GNUC_PREREQ (3,1) +# define __restrict_arr __restrict +#else +# ifdef __GNUC__ +# define __restrict_arr /* Not supported in old GCC. */ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict_arr restrict +# else +/* Some other non-C99 compiler. */ +# define __restrict_arr /* Not supported. */ +# endif +# endif +#endif #endif /* sys/cdefs.h */ |