bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* [PATCH] manywarnings: update C warnings for GCC 14
@ 2024-04-24  6:19 Paul Eggert
  0 siblings, 0 replies; only message in thread
From: Paul Eggert @ 2024-04-24  6:19 UTC (permalink / raw
  To: bug-gnulib; +Cc: Paul Eggert

Adjust for C programs compiled by GCC 14.
(A C++ expert still needs to look at manywarnings-c++.m4.)
* build-aux/gcc-warning.spec: Add warnings introduced in GCC 13.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
Add -Wflex-array-member-not-at-end, -Wmissing-variable-declarations.
---
 ChangeLog                  |  9 +++++++++
 build-aux/gcc-warning.spec | 20 +++++++++++++++++++-
 m4/manywarnings.m4         |  4 +++-
 3 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 58c7306f15..a5b5544b85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2024-04-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+	manywarnings: update C warnings for GCC 14
+	Adjust for C programs compiled by GCC 14.
+	(A C++ expert still needs to look at manywarnings-c++.m4.)
+	* build-aux/gcc-warning.spec: Add warnings introduced in GCC 13.
+	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
+	Add -Wflex-array-member-not-at-end, -Wmissing-variable-declarations.
+
 2024-04-23  Bruno Haible  <bruno@clisp.org>
 
 	Update HACKING.
diff --git a/build-aux/gcc-warning.spec b/build-aux/gcc-warning.spec
index 09350012ba..e12fbe776e 100644
--- a/build-aux/gcc-warning.spec
+++ b/build-aux/gcc-warning.spec
@@ -13,6 +13,7 @@
 -Waliasing				fortran
 -Walign-commons				fortran
 -Waligned-new=[none|global|all]		c++
+-Walloc-size				enabled by -Wextra
 -Walloc-size-larger-than=<bytes>	defaults to PTRDIFF_MAX
 -Walloc-zero				Gnulib fixes this problem
 -Walloca				we like alloca in small doses
@@ -34,6 +35,7 @@
 -Wanalyzer-file-leak			enabled by -fanalyzer
 -Wanalyzer-free-of-non-heap		enabled by -fanalyzer
 -Wanalyzer-imprecise-fp-arithmetic	enabled by -fanalyzer
+-Wanalyzer-infinite-loop		enabled by -fanalyzer
 -Wanalyzer-infinite-recursion		enabled by -fanalyzer
 -Wanalyzer-jump-through-null		enabled by -fanalyzer
 -Wanalyzer-malloc-leak			enabled by -fanalyzer
@@ -41,18 +43,21 @@
 -Wanalyzer-null-argument		enabled by -fanalyzer
 -Wanalyzer-null-dereference		enabled by -fanalyzer
 -Wanalyzer-out-of-bounds		enabled by -fanalyzer
+-Wanalyzer-overlapping-buffers		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-symbol-too-complex	        warns about compiler not about program
 -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-undefined-behavior-strtok	enabled by -fanalyzer
 -Wanalyzer-va-arg-type-mismatch		enabled by -fanalyzer
 -Wanalyzer-va-list-exhausted		enabled by -fanalyzer
 -Wanalyzer-va-list-leak			enabled by -fanalyzer
@@ -93,11 +98,13 @@
 -Wc++20-compat				c++
 -Wc++20-extensions			c++
 -Wc++23-extensions			c++
+-Wc++26-extensions			c++
 -Wc++2a-compat				c++
 -Wc-binding-type			fortran
--Wc11-c2x-compat			c compatibility
+-Wc11-c23-compat			c compatibility
 -Wc90-c99-compat			c compatibility
 -Wc99-c11-compat			c compatibility
+-Wcalloc-transposed-args		enabled by -Wextra
 -Wcannot-profile			default
 -Wcast-align				enabled by -Wcast-align=strict
 -Wcast-function-type			enabled by -Wextra
@@ -115,10 +122,12 @@
 -Wcomma-subscript			c++ and objc++
 -Wcomment				enabled by -Wall
 -Wcomments				alias for -Wcomment
+-Wcompare-distinct-pointer-types	default
 -Wcompare-reals				fortran
 -Wcomplain-wrong-lang			default
 -Wconditionally-supported		c++ and objc++
 -Wconversion				FIXME maybe? too much noise; encourages bad changes
+-Wcoverage-too-many-conditions		default
 -Wconversion-extra			fortran
 -Wconversion-null			c++ and objc++
 -Wcoverage-invalid-line-number		default if --coverage
@@ -131,6 +140,7 @@
 -Wdangling-pointer=<0,2>		enabled by -Wall
 -Wdangling-reference			c++ and objc++
 -Wdeclaration-after-statement		needed only for pre-C99, so obsolete
+-Wdeclaration-missing-parameter-type	default
 -Wdelete-incomplete			c++ and objc++
 -Wdelete-non-virtual-dtor		c++
 -Wdeprecated				default
@@ -146,6 +156,7 @@
 -Wdiv-by-zero				default
 -Wduplicate-decl-specifier		enabled by -Wall
 -Weffc++				c++
+-Welaborated-enum-base			default, c++11+
 -Wempty-body				enabled by -Wextra
 -Wenum-compare				enabled by -Wall
 -Wenum-conversion			enabled by -Wextra
@@ -174,6 +185,8 @@
 -Wframe-larger-than=<byte-size>		FIXME: choose something sane?
 -Wfree-nonheap-object			default
 -Wfunction-elimination			fortran
+-Wglobal-module				default, c++ and objc++
+-Whardened				default
 -Whsa					default
 -Wif-not-aligned			default
 -Wignored-attributes			default
@@ -217,6 +230,7 @@
 -Wmisleading-indentation		enabled by -Wall
 -Wmismatched-dealloc			default
 -Wmismatched-new-delete			default, c++ and objc++
+-Wmismatched-special-enum		d
 -Wmismatched-tags			c++ and objc++
 -Wmissing-attributes			enabled by -Wall
 -Wmissing-braces			enabled by -Wall
@@ -252,6 +266,7 @@
 -Wold-style-cast			c++ and objc++
 -Wold-style-declaration			enabled by -Wextra
 -Wopenacc-parallelism			OpenACC
+-Wopenmp				default
 -Woverflow				default
 -Woverloaded-virtual			c++
 -Woverloaded-virtual=<0,2>		c++
@@ -286,6 +301,7 @@
 -Wreorder				c++ and objc++
 -Wrestrict				enabled by -Wall
 -Wreturn-local-addr			default
+-Wreturn-mismatch			default
 -Wreturn-type				enabled by -Wall
 -Wscalar-storage-order			default
 -Wselector				objc and objc++
@@ -322,6 +338,7 @@
 -Wstringop-overread			default
 -Wstringop-truncation			default
 -Wsubobject-linkage			c++ and objc++
+-Wsuggest-attribute=returns_nonnull	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114833
 -Wsuggest-override			c++ and objc++
 -Wsurprising				fortran
 -Wswitch				enabled by -Wall
@@ -334,6 +351,7 @@
 -Wtabs					fortran
 -Wtarget-lifetime			fortran
 -Wtautological-compare			enabled by -Wall
+-Wtemplate-id-cdtor			default, c++ and objc++
 -Wtemplates				c++ and objc++
 -Wterminate				c++ and objc++
 -Wtraditional				obsolescent
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index 4ba6bc9e3c..14bc5041ea 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,5 +1,5 @@
 # manywarnings.m4
-# serial 25
+# serial 26
 dnl Copyright (C) 2008-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -111,6 +111,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
     -Wduplicated-cond \
     -Wextra \
     -Wformat-signedness \
+    -Wflex-array-member-not-at-end \
     -Winit-self \
     -Winline \
     -Winvalid-pch \
@@ -118,6 +119,7 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)],
     -Wmissing-declarations \
     -Wmissing-include-dirs \
     -Wmissing-prototypes \
+    -Wmissing-variable-declarations \
     -Wnested-externs \
     -Wnull-dereference \
     -Wold-style-definition \
-- 
2.44.0



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-24  6:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-24  6:19 [PATCH] manywarnings: update C warnings for GCC 14 Paul Eggert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).