mirror of
https://github.com/coreutils/coreutils.git
synced 2024-11-26 03:13:42 +08:00
a103bb4a08
(gl_C_RESTRICT): Renamed from ACX_C_RESTRICT. All uses changed. Rename cache vars to gl_cv_*. Incorporate latest Autoconf CVS tricks.
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
#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
|
|
])
|