]> Savannah Git Hosting - gnulib.git/commitdiff
manywarnings: omit -fno-common in GCC 10+
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 23 Apr 2023 15:53:55 +0000 (08:53 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 23 Apr 2023 15:54:37 +0000 (08:54 -0700)
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Omit -fno-common
in GCC 10 and later, as it is the default there.
Check exit status of ‘gcc --version’.

ChangeLog
m4/manywarnings.m4

index 874cf704f7bcbeed10124203392ff5508c1743e1..9ae7506f45ef43dfaa14b7cc857181da5f27b39d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2023-04-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       manywarnings: omit -fno-common in GCC 10+
+       * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Omit -fno-common
+       in GCC 10 and later, as it is the default there.
+       Check exit status of ‘gcc --version’.
+
 2023-04-23  Bruno Haible  <bruno@clisp.org>
 
        libunistring: Fix build on Windows, when a libunistring is installed.
index 2fac86e20be38c4927e3d64ea7ed1d587801ed3b..f88dcc5f1274aa36b8b4a82d343b2ff0eccad99a 100644 (file)
@@ -109,7 +109,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
   #  <(LC_ALL=C gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
 
   $1=
-  for gl_manywarn_item in -fanalyzer -fno-common \
+  for gl_manywarn_item in -fanalyzer \
     -Wall \
     -Warith-conversion \
     -Wbad-function-cast \
@@ -178,14 +178,19 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
   gl_AS_VAR_APPEND([$1], [' -Wvla-larger-than=4031'])
 
   # These are needed for older GCC versions.
-  if test -n "$GCC"; then
-    case `($CC --version) 2>/dev/null` in
+  if test -n "$GCC" && gl_gcc_version=`($CC --version) 2>/dev/null`; then
+    case $gl_gcc_version in
       'gcc (GCC) '[[0-3]].* | \
       'gcc (GCC) '4.[[0-7]].*)
         gl_AS_VAR_APPEND([$1], [' -fdiagnostics-show-option'])
         gl_AS_VAR_APPEND([$1], [' -funit-at-a-time'])
           ;;
     esac
+    case $gl_gcc_version in
+      'gcc (GCC) '[[0-9]].*)
+        gl_AS_VAR_APPEND([$1], [' -fno-common'])
+          ;;
+    esac
   fi
 
   # Disable specific options as needed.