diff options
author | Jim Meyering <jim@meyering.net> | 2003-02-12 08:57:34 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2003-02-12 08:57:34 +0000 |
commit | 887ad2d3580748b256d523b7e4fee3fac916fbc0 (patch) | |
tree | 312ccef7b091f23402f582e500f9b012a5850ef2 | |
parent | ac3db7d31983bdb197f1acd8b6a00b39434ccf78 (diff) | |
download | coreutils-887ad2d3580748b256d523b7e4fee3fac916fbc0.tar.xz |
(ACX_C_RESTRICT): Minor syntactic changes:
Split long lines, use AC_COMPILE_IFELSE, use `case' instead of
nested `if's, remove unnecessary quotes.
-rw-r--r-- | m4/restrict.m4 | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/m4/restrict.m4 b/m4/restrict.m4 index c5492f9ba..902dc1308 100644 --- a/m4/restrict.m4 +++ b/m4/restrict.m4 @@ -1,24 +1,33 @@ -dnl Available from the GNU Autoconf Macro Archive at: +#serial 1000 +dnl based on acx_restrict.m4, from the GNU Autoconf Macro Archive at: dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_restrict.html -dnl + +# Determine whether the 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 (like gcc's __restrict__) +# define "restrict" to be that. Otherwise, define "restrict" to be empty. + 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 + [acx_cv_c_restrict=no + # 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_COMPILE_IFELSE([AC_LANG_SOURCE( + [#ifndef __cplusplus + float * $acx_kw x; +#endif + ])], [acx_cv_c_restrict=$acx_kw; break]) + done + ]) + case $acx_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, $acx_cv_c_restrict) ;; + esac ]) |