]> Savannah Git Hosting - gnulib.git/commitdiff
manywarnings: update C warnings for GCC 12
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 12 May 2022 22:13:04 +0000 (15:13 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 12 May 2022 22:14:22 +0000 (15:14 -0700)
Adjust for C programs compiled by GCC 12.
(A C++ expert still needs to look at manywarnings-c++.m4.)
* build-aux/gcc-warning.spec: Add warnings introduced in GCC 12.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbidi-chars=any,ucn
and -Wuse-after-free=3.  Although not enabled by -Wall or -Wextra
they seem suitable for Gnulib-using C code.

ChangeLog
build-aux/gcc-warning.spec
m4/manywarnings.m4

index 8cc17d8d146ff1c267049d5f4efe981411a31e7a..6ed8a507357232c7826d50b8d3689e97eac6858f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2022-05-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       manywarnings: update C warnings for GCC 12
+       Adjust for C programs compiled by GCC 12.
+       (A C++ expert still needs to look at manywarnings-c++.m4.)
+       * build-aux/gcc-warning.spec: Add warnings introduced in GCC 12.
+       * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbidi-chars=any,ucn
+       and -Wuse-after-free=3.  Although not enabled by -Wall or -Wextra
+       they seem suitable for Gnulib-using C code.
+
 2022-05-11  Paul Eggert  <eggert@cs.ucla.edu>
 
        parse-datetime: remove Emacs cruft
index c0d49f2a6e04562d06bf4ca45319cc8da10dade9..cbcbc87f9a44a377f47e3d97c9254b515abac573 100644 (file)
 -Wanalyzer-shift-count-negative                enabled by -fanalyzer
 -Wanalyzer-shift-count-overflow                enabled by -fanalyzer
 -Wanalyzer-stale-setjmp-buffer         implied by -fanalyzer
--Wanalyzer-tainted-array-index         FIXME maybe? too much noise
+-Wanalyzer-tainted-allocation-size     FIXME requires -fanalyzer-checker=taint
+-Wanalyzer-tainted-array-index         FIXME requires -fanalyzer-checker=taint
+-Wanalyzer-tainted-divisor             FIXME requires -fanalyzer-checker=taint
+-Wanalyzer-tainted-offset              FIXME requires -fanalyzer-checker=taint
+-Wanalyzer-tainted-size                        FIXME requires -fanalyzer-checker=taint
 -Wanalyzer-too-complex                 enabled by -fanalyzer
 -Wanalyzer-unsafe-call-within-signal-handler   enabled by -fanalyzer
 -Wanalyzer-use-after-free              enabled by -fanalyzer
 -Wanalyzer-use-of-pointer-in-stale-stack-frame enabled by -fanalyzer
+-Wanalyzer-use-of-uninitialized-value  enabled by -fanalyzer
 -Wanalyzer-write-to-const              enabled by -fanalyzer
 -Wanalyzer-write-to-string-literal     enabled by -fanalyzer
 -Warray-bounds                         covered by -Warray-bounds=
 -Warray-bounds=<0,2>                   handled specially by gl_MANYWARN_ALL_GCC
+-Warray-compare                                enabled by -Wall
 -Warray-parameter                      enabled by -Wall
 -Warray-parameter=<0,2>                        enabled by -Wall
 -Warray-temporaries                    fortran
@@ -49,6 +55,8 @@
 -Wattribute-alias=<0,2>                        handled specially by gl_MANYWARN_ALL_GCC
 -Wattribute-warning                    default
 -Wattributes                           default
+-Wbidi-chars                           handled specially by gl_MANYWARN_ALL_GCC
+-Wbidi-chars=                          handled specially by gl_MANYWARN_ALL_GCC
 -Wbool-compare                         enabled by -Wall
 -Wbool-operation                       enabled by -Wall
 -Wbuiltin-declaration-mismatch         default
 -Wc++-compat                           only useful for code meant to be compiled by a C++ compiler
 -Wc++0x-compat                         c++
 -Wc++11-compat                         c++
+-Wc++11-extensions                     c++
 -Wc++14-compat                         c++
+-Wc++14-extensions                     c++
 -Wc++17-compat                         c++
+-Wc++17-extensions                     c++
 -Wc++1z-compat                         c++
 -Wc++20-compat                         c++
+-Wc++20-extensions                     c++
+-Wc++23-extensions                     c++
 -Wc++2a-compat                         c++
 -Wc-binding-type                       fortran
 -Wc11-c2x-compat                       c compatibility
 -Wconversion                           FIXME maybe? too much noise; encourages bad changes
 -Wconversion-extra                     fortran
 -Wconversion-null                      c++ and objc++
+-Wcoverage-invalid-line-number         default if --coverage
 -Wcoverage-mismatch                    default
 -Wcpp                                  default
 -Wctad-maybe-unsupported               c++ and objc++
 -Wctor-dtor-privacy                    c++
 -Wdangling-else                                enabled by -Wparentheses
+-Wdangling-pointer                     enabled by -Wall
+-Wdangling-pointer=<0,2>               enabled by -Wall
 -Wdeclaration-after-statement          needed only for pre-C99, so obsolete
 -Wdelete-incomplete                    c++ and objc++
 -Wdelete-non-virtual-dtor              c++
 -Wimplicit-procedure                   fortran
 -Winaccessible-base                    c++ and objc++
 -Wincompatible-pointer-types           default
+-Winfinite-recursion                   enabled by -Wall
 -Winherited-variadic-ctor              c++
 -Winit-list-lifetime                   c++ and objc++
 -Wint-conversion                       default
 -Wint-in-bool-context                  enabled by -Wall
 -Wint-to-pointer-cast                  default
 -Winteger-division                     fortran
+-Winterference-size                    c++
 -Wintrinsic-shadow                     fortran
 -Wintrinsics-std                       fortran
 -Winvalid-imported-macros              c++ and objc++
 -Wmissing-noreturn                     obsolescent
 -Wmissing-parameter-type               enabled by -Wextra
 -Wmissing-profile                      default
+-Wmissing-requires                     default, c++
+-Wmissing-template-keyword             default, c++
 -Wmultichar                            default
 -Wmultiple-inheritance                 c++ and objc++
 -Wmultistatement-macros                        enabled by -Wall
 -Wodr                                  default
 -Wold-style-cast                       c++ and objc++
 -Wold-style-declaration                        enabled by -Wextra
+-Wopenacc-parallelism                  OpenACC
 -Woverflow                             default
 -Woverloaded-virtual                   c++
 -Woverride-init                                enabled by -Wextra
 -Wtraditional                          obsolescent
 -Wtraditional-conversion               obsolescent
 -Wtrigraphs                            enabled by -Wall
+-Wtrivial-auto-var-init                        subsumed by -Wmaybe-uninitialized
 -Wtsan                                 default
 -Wtype-limits                          enabled by -Wextra
 -Wundeclared-selector                  objc and objc++
 -Wunused-result                                enabled by -Wunused
 -Wunused-value                         enabled by -Wunused
 -Wunused-variable                      enabled by -Wunused
+-Wuse-after-free                       handled specially by gl_MANYWARN_ALL_GCC
+-Wuse-after-free=<0,3>                 handled specially by gl_MANYWARN_ALL_GCC
 -Wuse-without-only                     fortran
 -Wuseless-cast                         c++ and objc++
 -Wvarargs                              default
index 253393e51bd8d089624bfce78a73a6d0badc276e..f4b5853f020cf5f147978775590dbc47476fe15b 100644 (file)
@@ -167,11 +167,13 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
   # them here so that the above 'comm' command doesn't report a false match.
   gl_AS_VAR_APPEND([$1], [' -Warray-bounds=2'])
   gl_AS_VAR_APPEND([$1], [' -Wattribute-alias=2'])
+  gl_AS_VAR_APPEND([$1], [' -Wbidi-chars=any,ucn'])
   gl_AS_VAR_APPEND([$1], [' -Wformat-overflow=2'])
   gl_AS_VAR_APPEND([$1], [' -Wformat=2'])
   gl_AS_VAR_APPEND([$1], [' -Wformat-truncation=2'])
   gl_AS_VAR_APPEND([$1], [' -Wimplicit-fallthrough=5'])
   gl_AS_VAR_APPEND([$1], [' -Wshift-overflow=2'])
+  gl_AS_VAR_APPEND([$1], [' -Wuse-after-free=3'])
   gl_AS_VAR_APPEND([$1], [' -Wunused-const-variable=2'])
   gl_AS_VAR_APPEND([$1], [' -Wvla-larger-than=4031'])