2002-04-16 David S. Miller <davem@redhat.com>
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Apr 2002 00:12:54 +0000 (00:12 +0000)
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Apr 2002 00:12:54 +0000 (00:12 +0000)
* 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
include/xregex2.h

index 01e3d44..060899a 100644 (file)
@@ -1,3 +1,8 @@
+2002-04-16  David S. Miller  <davem@redhat.com>
+
+       * xregex2.h (__restrict_arr): Define to __restrict on GCC
+       3.1 and later.  Do not redefine.
+
 2002-04-01  Phil Edwards  <pme@gcc.gnu.org>
 
        * dyn-string.h:  Also allow IN_GLIBCPP_V3 to redefine names.
index b9c2d97..2991daf 100644 (file)
@@ -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,