From dc43d83d2b8ab97d4c2b6c6a1017fbec8fbe8941 Mon Sep 17 00:00:00 2001 From: davem Date: Wed, 17 Apr 2002 00:12:54 +0000 Subject: [PATCH] 2002-04-16 David S. Miller * xregex2.h (__restrict_arr): Define to __restrict on GCC 3.1 and later. Do not redefine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52383 138bc75d-0d04-0410-961f-82ee72b054a4 --- include/ChangeLog | 5 +++++ include/xregex2.h | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index 01e3d443392..060899a3bc6 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2002-04-16 David S. Miller + + * xregex2.h (__restrict_arr): Define to __restrict on GCC + 3.1 and later. Do not redefine. + 2002-04-01 Phil Edwards * dyn-string.h: Also allow IN_GLIBCPP_V3 to redefine names. diff --git a/include/xregex2.h b/include/xregex2.h index b9c2d97cce1..2991daf9bcf 100644 --- a/include/xregex2.h +++ b/include/xregex2.h @@ -529,10 +529,16 @@ extern int re_exec _RE_ARGS ((const char *)); # endif # endif #endif -/* For now unconditionally define __restrict_arr to expand to nothing. - Ideally we would have a test for the compiler which allows defining - it to restrict. */ -#define __restrict_arr + +/* GCC 3.1 and later support declaring arrays as non-overlapping + using the syntax array_name[restrict] */ +#ifndef __restrict_arr +# if ! (3 < __GNUC__ || (3 == __GNUC__ && 1 <= __GNUC_MINOR__)) || defined (__GNUG__) +# define __restrict_arr +# else +# define __restrict_arr __restrict +# endif +#endif /* POSIX compatibility. */ extern int regcomp _RE_ARGS ((regex_t *__restrict __preg, -- 2.11.0