-[
- pushdef([param],[translit([$1],[ABCDEFGHIJKLMNOPQRSTUVWXYZ./-],
- [abcdefghijklmnopqrstuvwxyz___])])
-
- AC_CACHE_CHECK([whether compiler handles $1], [gl_cv_warn[]param[]], [
- save_CFLAGS="$CFLAGS"
- CFLAGS="${CFLAGS} $1"
- AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
- gl_cv_warn[]param=yes, gl_cv_warn[]param=no)
- CFLAGS="$save_CFLAGS"
- ])
-
- if test $gl_cv_warn[]param = "yes"; then
- WARN_CFLAGS="$WARN_CFLAGS $1"
- fi
+dnl FIXME: gl_Warn must be used unquoted until we can assume
+dnl autoconf 2.64 or newer.
+[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl
+AC_CACHE_CHECK([whether compiler handles $1], m4_defn([gl_Warn]), [
+ gl_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="${CPPFLAGS} $1"
+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
+ [AS_VAR_SET(gl_Warn, [yes])],
+ [AS_VAR_SET(gl_Warn, [no])])
+ CPPFLAGS="$gl_save_CPPFLAGS"
+])
+AS_VAR_IF(gl_Warn, [yes],
+ [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])])
+AS_VAR_POPDEF([gl_Warn])dnl
+m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl