summaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-04-23 08:53:59 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2023-04-23 08:54:38 -0700
commit78f7aef9304979d7796dd7d3fc5a2d92d1da0ca6 (patch)
tree03714fea3bc03322e07e77639e02529431536542 /build-aux
parente3b58d8270e8620639105bd0fddb50625b6e37a9 (diff)
downloadgnulib-78f7aef9304979d7796dd7d3fc5a2d92d1da0ca6.tar.gz
manywarnings: update C warnings for GCC 13
Adjust for C programs compiled by GCC 13. (A C++ expert still needs to look at manywarnings-c++.m4.) * build-aux/gcc-warning.spec: Add warnings introduced in GCC 13. * doc/manywarnings.texi (manywarnings): Document flex arrays. * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fstrict-flex-arrays and -Wstrict-flex-arrays as these should be suitable for Gnulib-using code.
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/gcc-warning.spec30
1 files changed, 30 insertions, 0 deletions
diff --git a/build-aux/gcc-warning.spec b/build-aux/gcc-warning.spec
index cbcbc87f9a..09350012ba 100644
--- a/build-aux/gcc-warning.spec
+++ b/build-aux/gcc-warning.spec
@@ -18,25 +18,45 @@
-Walloca we like alloca in small doses
-Walloca-larger-than=<number> FIXME: choose something sane?
-Wampersand fortran
+-Wanalyzer-allocation-size enabled by -fanalyzer
+-Wanalyzer-deref-before-check enabled by -fanalyzer
-Wanalyzer-double-fclose enabled by -fanalyzer
-Wanalyzer-double-free enabled by -fanalyzer
-Wanalyzer-exposure-through-output-file enabled by -fanalyzer
+-Wanalyzer-exposure-through-uninit-copy enabled by -fanalyzer
+-Wanalyzer-fd-access-mode-mismatch enabled by -fanalyzer
+-Wanalyzer-fd-double-close enabled by -fanalyzer
+-Wanalyzer-fd-leak enabled by -fanalyzer
+-Wanalyzer-fd-phase-mismatch enabled by -fanalyzer
+-Wanalyzer-fd-type-mismatch enabled by -fanalyzer
+-Wanalyzer-fd-use-after-close enabled by -fanalyzer
+-Wanalyzer-fd-use-without-check enabled by -fanalyzer
-Wanalyzer-file-leak enabled by -fanalyzer
-Wanalyzer-free-of-non-heap enabled by -fanalyzer
+-Wanalyzer-imprecise-fp-arithmetic enabled by -fanalyzer
+-Wanalyzer-infinite-recursion enabled by -fanalyzer
+-Wanalyzer-jump-through-null enabled by -fanalyzer
-Wanalyzer-malloc-leak enabled by -fanalyzer
-Wanalyzer-mismatching-deallocation enabled by -fanalyzer
-Wanalyzer-null-argument enabled by -fanalyzer
-Wanalyzer-null-dereference enabled by -fanalyzer
+-Wanalyzer-out-of-bounds enabled by -fanalyzer
-Wanalyzer-possible-null-argument enabled by -fanalyzer
-Wanalyzer-possible-null-dereference enabled by -fanalyzer
+-Wanalyzer-putenv-of-auto-var enabled by -fanalyzer
-Wanalyzer-shift-count-negative enabled by -fanalyzer
-Wanalyzer-shift-count-overflow enabled by -fanalyzer
-Wanalyzer-stale-setjmp-buffer implied by -fanalyzer
-Wanalyzer-tainted-allocation-size FIXME requires -fanalyzer-checker=taint
-Wanalyzer-tainted-array-index FIXME requires -fanalyzer-checker=taint
+-Wanalyzer-tainted-assertion 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-va-arg-type-mismatch enabled by -fanalyzer
+-Wanalyzer-va-list-exhausted enabled by -fanalyzer
+-Wanalyzer-va-list-leak enabled by -fanalyzer
+-Wanalyzer-va-list-use-after-va-end enabled by -fanalyzer
-Wanalyzer-too-complex enabled by -fanalyzer
-Wanalyzer-unsafe-call-within-signal-handler enabled by -fanalyzer
-Wanalyzer-use-after-free enabled by -fanalyzer
@@ -85,6 +105,7 @@
-Wcast-result D
-Wcatch-value c++
-Wcatch-value=<0,3> c++
+-Wchanges-meaning c++
-Wchar-subscripts enabled by -Wall
-Wcharacter-truncation fortran
-Wchkp deprecated
@@ -95,6 +116,7 @@
-Wcomment enabled by -Wall
-Wcomments alias for -Wcomment
-Wcompare-reals fortran
+-Wcomplain-wrong-lang default
-Wconditionally-supported c++ and objc++
-Wconversion FIXME maybe? too much noise; encourages bad changes
-Wconversion-extra fortran
@@ -107,6 +129,7 @@
-Wdangling-else enabled by -Wparentheses
-Wdangling-pointer enabled by -Wall
-Wdangling-pointer=<0,2> enabled by -Wall
+-Wdangling-reference c++ and objc++
-Wdeclaration-after-statement needed only for pre-C99, so obsolete
-Wdelete-incomplete c++ and objc++
-Wdelete-non-virtual-dtor c++
@@ -126,6 +149,7 @@
-Wempty-body enabled by -Wextra
-Wenum-compare enabled by -Wall
-Wenum-conversion enabled by -Wextra
+-Wenum-int-mismatch enabled by -Wall
-Wendif-labels default
-Werror-implicit-function-declaration deprecated
-Wexceptions c++ and objc++
@@ -173,9 +197,11 @@
-Winterference-size c++
-Wintrinsic-shadow fortran
-Wintrinsics-std fortran
+-Winvalid-constexpr c++
-Winvalid-imported-macros c++ and objc++
-Winvalid-memory-model default
-Winvalid-offsetof c++ and objc++
+-Winvalid-utf8 enabled by -finput-charset=UTF-8
-Wjump-misses-init only useful for code meant to be compiled by a C++ compiler
-Wlarger-than- gcc --help=warnings artifact
-Wlarger-than=<byte-size> FIXME: choose something sane?
@@ -228,6 +254,7 @@
-Wopenacc-parallelism OpenACC
-Woverflow default
-Woverloaded-virtual c++
+-Woverloaded-virtual=<0,2> c++
-Woverride-init enabled by -Wextra
-Woverride-init-side-effects c++ and objc++
-Woverwrite-recursive fortran
@@ -263,6 +290,7 @@
-Wscalar-storage-order default
-Wselector objc and objc++
-Wsequence-point enabled by -Wall
+-Wself-move c++ and objc++
-Wshadow-compatible-local covered by -Wshadow
-Wshadow-ivar objc
-Wshadow-local covered by -Wshadow
@@ -318,6 +346,7 @@
-Wundef FIXME maybe? too many false positives
-Wundefined-do-loop fortran
-Wunderflow fortran
+-Wunicode default
-Wunreachable-code obsolescent no-op
-Wunsuffixed-float-constants triggers warning in gnulib's timespec.h
-Wunused enabled by -Wall
@@ -345,6 +374,7 @@
-Wvla-parameter enabled by -Wall
-Wvolatile c++ and objc++
-Wvolatile-register-var enabled by -Wall
+-Wxor-used-as-pow default
-Wzero-as-null-pointer-constant c++ and objc++
-Wzero-length-bounds enabled by -Wall
-Wzerotrip fortran