warnings: Improve code.
[pspp] / m4 / warnings.m4
index 3a8874cd550504dca923c11071c9f97d5ecb41ab..3585c3eebcb2de1b2a3dad004b2aba5b97f43927 100644 (file)
@@ -29,12 +29,12 @@ m4_ifdef([AS_VAR_APPEND],
 AC_DEFUN([gl_WARN_ADD],
 [AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl
 AC_CACHE_CHECK([whether compiler handles $1], [gl_Warn], [
-  save_CFLAGS="$CFLAGS"
-  CFLAGS="${CFLAGS} $1"
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="${CPPFLAGS} $1"
   AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
                     [AS_VAR_SET([gl_Warn], [yes])],
                    [AS_VAR_SET([gl_Warn], [no])])
-  CFLAGS="$save_CFLAGS"
+  CPPFLAGS="$save_CPPFLAGS"
 ])
 AS_VAR_PUSHDEF([gl_Flags], m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]))dnl
 gl_AS_VAR_IF([gl_Warn], [yes], [gl_AS_VAR_APPEND([gl_Flags], [" $1"])])
@@ -45,10 +45,10 @@ m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl
 
 # gl_WARN_SUPPORTED(VARIABLE)
 # ----------------------
-# Add all supported warning parameters to variable VARIABLE
-# using gl_WARN_ADD.
+# Add all supported warning parameters to variable VARIABLE.
 AC_DEFUN([gl_WARN_SUPPORTED],
 [
+ FOO=
  # List of all supported warning parameters according to GCC 4.3.2 manual.
  for w in \
    -Wall \
@@ -102,8 +102,9 @@ AC_DEFUN([gl_WARN_SUPPORTED],
    -Wstack-protector \
    -Woverlength-strings \
   ; do
-    gl_WARN_ADD($w, $1)
+    FOO="$FOO $w"
   done
+  $1=$FOO
 ])
 
 # gl_WARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR)
@@ -113,16 +114,17 @@ AC_DEFUN([gl_WARN_SUPPORTED],
 # does OUTVAR = LISTVAR \ REMOVEVAR.
 AC_DEFUN([gl_WARN_COMPLEMENT],
 [
-  FOO=
-  set -- "$2"
-  for w in $_; do
-    case "$3" in
-      *" $w "* | *" $w" | "$w "*)
+  gl_warn_set=
+  set x $2; shift
+  for gl_warn_item
+  do
+    case " $3 " in
+      *" $gl_warn_item "*)
         ;;
       *)
-        FOO="$FOO $w"
+        gl_warn_set="$gl_warn_set $gl_warn_item"
         ;;
     esac
   done
-  $1=$FOO
+  $1=$gl_warn_set
 ])