summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>2002-04-17 00:12:54 +0000
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>2002-04-17 00:12:54 +0000
commitdc43d83d2b8ab97d4c2b6c6a1017fbec8fbe8941 (patch)
tree067c2f3de87d9098fd0b875c93a0dbac85ce1efb /include
parent26adc8a4c7687a890a12fd44dc42428b2601521a (diff)
downloadgcc-dc43d83d2b8ab97d4c2b6c6a1017fbec8fbe8941.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52383 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/xregex2.h14
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 <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.
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,