verbatim from the URL in the comment
authorJim Meyering <jim@meyering.net>
Wed, 12 Feb 2003 08:54:20 +0000 (08:54 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 12 Feb 2003 08:54:20 +0000 (08:54 +0000)
m4/restrict.m4 [new file with mode: 0644]

diff --git a/m4/restrict.m4 b/m4/restrict.m4
new file mode 100644 (file)
index 0000000..c5492f9
--- /dev/null
@@ -0,0 +1,24 @@
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_restrict.html
+dnl
+AC_DEFUN([ACX_C_RESTRICT],
+[AC_CACHE_CHECK([for C restrict keyword], acx_cv_c_restrict,
+[acx_cv_c_restrict=unsupported
+ AC_LANG_SAVE
+ AC_LANG_C
+ # Try the official restrict keyword, then gcc's __restrict__, then
+ # SGI's __restrict.  __restrict has slightly different semantics than
+ # restrict (it's a bit stronger, in that __restrict pointers can't
+ # overlap even with non __restrict pointers), but I think it should be
+ # okay under the circumstances where restrict is normally used.
+ for acx_kw in restrict __restrict__ __restrict; do
+   AC_TRY_COMPILE([], [float * $acx_kw x;], [acx_cv_c_restrict=$acx_kw; break])
+ done
+ AC_LANG_RESTORE
+])
+ if test "$acx_cv_c_restrict" != "restrict"; then
+   acx_kw="$acx_cv_c_restrict"
+   if test "$acx_kw" = unsupported; then acx_kw=""; fi
+   AC_DEFINE_UNQUOTED(restrict, $acx_kw, [Define to equivalent of C99 restrict keyword, or to nothing if this is not supported.  Do not define if restrict is supported directly.])
+ fi
+])