+2003-08-07 Paul Eggert <eggert@twinsun.com>
+
+ * modules/restrict: New file.
+ * MODULES.html.sh (func_all_modules): Add restrict.
+ * modules/regex: Depend on restrict.
+
2003-08-07 Bruno Haible <bruno@clisp.org>
* modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
func_wrap H2
func_echo "$element"
+ element="Keywords"
+ element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
+ func_section_wrap isoc_sup_keywords
+ func_wrap H3
+ func_echo "$element"
+
+ func_begin_table
+ func_module restrict
+ func_end_table
+
element="Boolean type and values <stdbool.h>"
element=`printf "%s" "$element" | sed -e "$sed_lt" -e "$sed_gt"`
func_section_wrap isoc_sup_stdbool
+2003-08-07 Paul Eggert <eggert@twinsun.com>
+
+ * restrict.m4: New file.
+ * regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
+
2003-08-07 Bruno Haible <bruno@clisp.org>
* getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This makes
-#serial 17
+#serial 18
dnl Initially derived from code in GNU grep.
dnl Mostly written by Jim Meyering.
dnl Persuade glibc <string.h> to declare mempcpy().
AC_REQUIRE([AC_GNU_SOURCE])
+ AC_REQUIRE([gl_C_RESTRICT])
AC_REQUIRE([AC_FUNC_ALLOCA])
AC_REQUIRE([AC_HEADER_STDC])
AC_CHECK_HEADERS_ONCE(limits.h string.h wchar.h wctype.h)
--- /dev/null
+#serial 1002
+# This macro can be removed once we can rely on Autoconf 2.57a or later,
+# since we can then use its AC_C_RESTRICT.
+
+# gl_C_RESTRICT
+# --------------
+# Determine whether the C/C++ compiler supports the "restrict" keyword
+# introduced in ANSI C99, or an equivalent. Do nothing if the compiler
+# accepts it. Otherwise, if the compiler supports an equivalent,
+# define "restrict" to be that. Here are some variants:
+# - GCC supports both __restrict and __restrict__
+# - older DEC Alpha C compilers support only __restrict
+# - _Restrict is the only spelling accepted by Sun WorkShop 6 update 2 C
+# Otherwise, define "restrict" to be empty.
+AC_DEFUN([gl_C_RESTRICT],
+[AC_CACHE_CHECK([for C/C++ restrict keyword], gl_cv_c_restrict,
+ [gl_cv_c_restrict=no
+ # Try the official restrict keyword, then gcc's __restrict, and
+ # the less common variants.
+ for ac_kw in restrict __restrict __restrict__ _Restrict; do
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+ [float * $ac_kw x;])],
+ [gl_cv_c_restrict=$ac_kw; break])
+ done
+ ])
+ case $gl_cv_c_restrict in
+ restrict) ;;
+ no) AC_DEFINE(restrict,,
+ [Define to equivalent of C99 restrict keyword, or to nothing if this
+ is not supported. Do not define if restrict is supported directly.]) ;;
+ *) AC_DEFINE_UNQUOTED(restrict, $gl_cv_c_restrict) ;;
+ esac
+])