]> git.ipfire.org Git - thirdparty/rsync.git/commitdiff
Handle early gcc versions that don't understand -Wno-pedantic.
authorWayne Davison <wayne@opencoder.net>
Tue, 29 Sep 2020 21:22:40 +0000 (14:22 -0700)
committerWayne Davison <wayne@opencoder.net>
Tue, 29 Sep 2020 21:27:59 +0000 (14:27 -0700)
configure.ac

index eda5f0fa17882e196e016a7ff2e7e804474733b7..1116e658a5a5db288c71570bc5d7f05be8f12715 100644 (file)
@@ -116,9 +116,9 @@ fi
 # I don't want our version too far out of sync.
 CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
 
-# If GCC, turn on warnings and turn pedantic warnings into errors to ensure an array-init overflow is an error.
+# If GCC, turn on warnings.
 if test x"$GCC" = x"yes"; then
-       CFLAGS="$CFLAGS -Wall -W -pedantic-errors"
+       CFLAGS="$CFLAGS -Wall -W"
 fi
 
 AC_ARG_WITH(included-popt,
@@ -1046,10 +1046,18 @@ elif test x"$ac_cv_header_popt_h" != x"yes"; then
     with_included_popt=yes
 fi
 
-if test x"$with_included_popt" = x"yes" -a x"$GCC" = x"yes"; then
-       # Our internal popt code cannot be compiled with pedantic warnings as errors, so turn off
-       # pedantic warnings.  This does not affect the array-init overflow as an error, though.
-       CFLAGS="$CFLAGS -Wno-pedantic"
+if test x"$GCC" = x"yes"; then
+    if test x"$with_included_popt" != x"yes"; then
+       # Turn pedantic warnings into errors to ensure an array-init overflow is an error.
+       CFLAGS="$CFLAGS -pedantic-errors"
+    else
+       # Our internal popt code cannot be compiled with pedantic warnings as errors, so try to
+       # turn off pedantic warnings (which will not lose the error for array-init overflow).
+       case `$CC -dumpversion 2>/dev/null` in
+           4.*) ;; # Early gcc doesn't understand -Wno-pedantic
+           *) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;;
+       esac
+    fi
 fi
 
 AC_MSG_CHECKING([whether to use included libpopt])