summaryrefslogtreecommitdiff
path: root/build-aux/gcc-warning.spec
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2022-05-12 15:13:04 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2022-05-12 15:14:22 -0700
commitefa0065f1682f53fb15ad427555ddedec6ec51eb (patch)
treeefed320353a585a10ff6963a173faa02bfc0abc8 /build-aux/gcc-warning.spec
parent44092ee9761177660d57237d3334a645e1fab3c1 (diff)
downloadgnulib-efa0065f1682f53fb15ad427555ddedec6ec51eb.tar.gz
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.
Diffstat (limited to 'build-aux/gcc-warning.spec')
-rw-r--r--build-aux/gcc-warning.spec26
1 files changed, 25 insertions, 1 deletions
diff --git a/build-aux/gcc-warning.spec b/build-aux/gcc-warning.spec
index c0d49f2a6e..cbcbc87f9a 100644
--- a/build-aux/gcc-warning.spec
+++ b/build-aux/gcc-warning.spec
@@ -32,15 +32,21 @@
-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
@@ -56,10 +64,15 @@
-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
@@ -86,11 +99,14 @@
-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++
@@ -147,12 +163,14 @@
-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++
@@ -181,6 +199,8 @@
-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
@@ -205,6 +225,7 @@
-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
@@ -290,6 +311,7 @@
-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++
@@ -311,6 +333,8 @@
-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