]> diplodocus.org Git - nmh/commitdiff
Refined the autoconf test for -Wno-unused-result so that
authorDavid Levine <levinedl@acm.org>
Sat, 11 Jan 2014 22:00:14 +0000 (16:00 -0600)
committerDavid Levine <levinedl@acm.org>
Sat, 11 Jan 2014 22:00:14 +0000 (16:00 -0600)
it's only used where we need it (currently Ubuntu gcc 4.8.1
with -O2).

configure.ac

index f480184b06686f56786fdc64f45f04bf36e01603..f817d1230a9624572c05cd060b426a3563beba43 100644 (file)
@@ -136,16 +136,6 @@ if test -n "$auto_cflags"; then
                  CFLAGS="$nmh_saved_cflags"])
   test "$nmh_cv_has_wall" = "yes"  &&  CFLAGS="${CFLAGS:+$CFLAGS }-Wall"
 
-  dnl for Ubuntu
-  AC_CACHE_CHECK([whether compiler supports -Wno-unused-result],
-                 [nmh_cv_has_wnur],
-                 [nmh_saved_cflags="$CFLAGS"
-                 CFLAGS="$CFLAGS -Wno-unused-result -Werror"
-                 AC_TRY_COMPILE([],[],nmh_cv_has_wnur=yes,nmh_cv_has_wnur=no)
-                 CFLAGS="$nmh_saved_cflags"])
-  test "$nmh_cv_has_wnur" = "yes"  && \
-    CFLAGS="${CFLAGS:+$CFLAGS }-Wno-unused-result"
-
   AC_CACHE_CHECK([whether compiler supports -Wextra], [nmh_cv_has_wextra],
                  [nmh_saved_cflags="$CFLAGS"
                  CFLAGS="$CFLAGS -Wextra -Werror"
@@ -153,6 +143,22 @@ if test -n "$auto_cflags"; then
                                 nmh_cv_has_wextra=no)
                  CFLAGS="$nmh_saved_cflags"])
   test "$nmh_cv_has_wextra" = "yes"  &&  CFLAGS="${CFLAGS:+$CFLAGS }-Wextra"
+
+  dnl For Ubuntu gcc 4.8.1, with -O2.  It would be better to fix all these,
+  dnl but until then, suppress the warning.
+  AC_CACHE_CHECK([whether compiler needs -Wno-unused-result],
+                 [nmh_cv_needs_wnur],
+                 [nmh_saved_cflags="$CFLAGS"
+                  CFLAGS="$CFLAGS -Werror -O2"
+                  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>],
+                                                     [extern const char *path;
+                                                      chdir (path);
+                                                      return 0;])],
+                                                     [nmh_cv_needs_wnur=no],
+                                                     [nmh_cv_needs_wnur=yes])
+                  CFLAGS="$nmh_saved_cflags"])
+  AS_IF([test "$nmh_cv_needs_wnur" = yes],
+        [CFLAGS="${CFLAGS:+$CFLAGS }-Wno-unused-result"])
 fi
 
 dnl --------------