bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* [PATCH] Port manywarnings to GCC 9
@ 2019-05-03 17:58 Paul Eggert
  0 siblings, 0 replies; only message in thread
From: Paul Eggert @ 2019-05-03 17:58 UTC (permalink / raw)
  To: bug-gnulib; +Cc: Paul Eggert

* build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
-Wc11-c2x-compat, -Wcast-result (for the D programming language),
-Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
-Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
-Wredundant-move.  Adjust to minor wording changes in GCC 9’s
--help=warnings output.
* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
-Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
-Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
---
 ChangeLog                  | 13 +++++++++++++
 build-aux/gcc-warning.spec | 32 +++++++++++++++++++++++---------
 m4/manywarnings.m4         |  9 +++++++--
 3 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cf4116bf3..92aa64a4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port manywarnings to GCC 9
+	* build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
+	-Wc11-c2x-compat, -Wcast-result (for the D programming language),
+	-Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
+	-Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
+	-Wredundant-move.  Adjust to minor wording changes in GCC 9’s
+	--help=warnings output.
+	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
+	-Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
+	-Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
+
 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Sync lib/mktime-internal.h from glibc
diff --git a/build-aux/gcc-warning.spec b/build-aux/gcc-warning.spec
index 8c0a3dc75..723d287af 100644
--- a/build-aux/gcc-warning.spec
+++ b/build-aux/gcc-warning.spec
@@ -1,23 +1,25 @@
 # options to filter out, and why
 --all-warnings				alias for -Wall
 --extra-warnings			alias for -Wextra
+-Wabi					this is now a no-op
 -Wabi-tag				c++
 -Wabi=					c++
--Wabi					this is now a no-op
 -Waggregate-return			obsolescent
 -Waliasing				fortran
 -Walign-commons				fortran
 -Waligned-new=[none|global|all]		c++
--Walloca				we like alloca in small doses
--Walloca-larger-than=<number>		FIXME: choose something sane?
 -Walloc-size-larger-than=		handled specially by gl_MANYWARN_ALL_GCC
 -Walloc-zero				Gnulib fixes this problem
+-Walloca				we like alloca in small doses
+-Walloca-larger-than=<number>		FIXME: choose something sane?
 -Wampersand				fortran
 -Wargument-mismatch			fortran
 -Warray-bounds				covered by -Warray-bounds=
 -Warray-bounds=<0,2>			handled specially by gl_MANYWARN_ALL_GCC
 -Warray-temporaries			fortran
 -Wassign-intercept			objc/objc++
+-Wattribute-alias			covered by -Wattribute-alias=2
+-Wattribute-alias=<0,2>			handled specially by gl_MANYWARN_ALL_GCC
 -Wc++-compat				only useful for code meant to be compiled by a C++ compiler
 -Wc++0x-compat				c++
 -Wc++11-compat				c++
@@ -25,13 +27,16 @@
 -Wc++17-compat				c++
 -Wc++1z-compat				c++
 -Wc-binding-type			fortran
+-Wc11-c2x-compat			c compatibility
 -Wc90-c99-compat			c compatibility
 -Wc99-c11-compat			c compatibility
 -Wcast-qual				FIXME maybe? too much noise; encourages bad changes
+-Wcast-result				D
 -Wcatch-value				c++
 -Wcatch-value=<0,3>			c++
 -Wcharacter-truncation			fortran
 -Wchkp					deprecated
+-Wclass-conversion			c++ and objc++
 -Wclass-memaccess			c++
 -Wcompare-reals				fortran
 -Wconditionally-supported		c++ and objc++
@@ -42,6 +47,8 @@
 -Wdeclaration-after-statement		FIXME: do not want.  others may
 -Wdelete-incomplete			c++ and objc++
 -Wdelete-non-virtual-dtor		c++
+-Wdeprecated-copy			c++ and objc++
+-Wdeprecated-copy-dtor			c++ and objc++
 -Wdo-subscript				fortran
 -Weffc++				c++
 -Werror-implicit-function-declaration	deprecated
@@ -49,25 +56,26 @@
 -Wfloat-conversion			FIXME maybe? borderline.  some will want this
 -Wfloat-equal				FIXME maybe? borderline.  some will want this
 -Wformat				covered by -Wformat=2
--Wformat=<0,2>				gcc --help=warnings artifact
 -Wformat-overflow<0,2>			gcc --help=warnings artifact
 -Wformat-overflow=<0,2>			handled specially by gl_MANYWARN_ALL_GCC
 -Wformat-truncation			covered by -Wformat-truncation=2
 -Wformat-truncation=<0,2>		handled specially by gl_MANYWARN_ALL_GCC
--Wframe-larger-than=<number>		FIXME: choose something sane?
+-Wformat=<0,2>				gcc --help=warnings artifact
+-Wframe-larger-than=<byte-size>		FIXME: choose something sane?
 -Wfunction-elimination			fortran
 -Wimplicit-fallthrough			covered by -Wimplicit-fallthrough=2
 -Wimplicit-fallthrough=<0,5>		handled specially by gl_MANYWARN_ALL_GCC
 -Wimplicit-interface			fortran
 -Wimplicit-procedure			fortran
 -Winherited-variadic-ctor		c++
+-Winit-list-lifetime			c++ and objc++
 -Winteger-division			fortran
 -Wintrinsic-shadow			fortran
 -Wintrinsics-std			fortran
 -Winvalid-offsetof			c++ and objc++
 -Wjump-misses-init			only useful for code meant to be compiled by a C++ compiler
 -Wlarger-than-				gcc --help=warnings artifact
--Wlarger-than=<number>			FIXME: choose something sane?
+-Wlarger-than=<byte-size>		FIXME: choose something sane?
 -Wline-truncation			fortran
 -Wliteral-suffix			c++ and objc++
 -Wlong-long				obsolescent
@@ -76,6 +84,9 @@
 -Wmissing-noreturn			obsolescent
 -Wmultiple-inheritance			c++ and objc++
 -Wnamespaces				c++
+-Wno-alloc-size-larger-than		see -Walloc-size-larger-than
+-Wno-alloca-larger-than			see -Walloca-larger-than
+-Wno-vla-larger-than			see -Wvla-larger-than
 -Wnoexcept				c++
 -Wnoexcept-type				c++
 -Wnon-template-friend			c++
@@ -87,31 +98,34 @@
 -Woverride-init-side-effects		c++ and objc++
 -Wpadded				FIXME maybe?  warns about "stabil" member in /usr/include/bits/timex.h
 -Wpedantic				FIXME: too strict?
+-Wpessimizing-move			c++ and objc++
 -Wplacement-new				c++
 -Wplacement-new=<0,2>			c++
 -Wpmf-conversions			c++ and objc++
+-Wprio-ctor-dtor			c++
 -Wproperty-assign-default		objc++
 -Wprotocol				objc++
 -Wreal-q-constant			fortran
 -Wrealloc-lhs				fortran
 -Wrealloc-lhs-all			fortran
 -Wredundant-decls			FIXME maybe? many _gl_cxxalias_dummy FPs
+-Wredundant-move			c++ and objc++
 -Wregister				c++ and objc++
 -Wreorder				c++ and objc++
 -Wselector				objc and objc++
+-Wshadow-compatible-local		covered by -Wshadow
 -Wshadow-ivar				objc
+-Wshadow-local				covered by -Wshadow
 -Wshadow=compatible-local		covered by -Wshadow
--Wshadow-compatible-local		covered by -Wshadow
 -Wshadow=global				covered by -Wshadow
 -Wshadow=local				covered by -Wshadow
--Wshadow-local				covered by -Wshadow
 -Wshift-overflow			covered by -Wshift-overflow=2
 -Wshift-overflow=<0,2>			gcc --help=warnings artifact
 -Wsign-compare				FIXME maybe? borderline.  some will want this
 -Wsign-conversion			FIXME maybe? borderline.  some will want this
 -Wsign-promo				c++ and objc++
 -Wsized-deallocation			c++ and objc++
--Wstack-usage=<number>			FIXME: choose something sane?
+-Wstack-usage=<byte-size>		FIXME: choose something sane?
 -Wstrict-aliasing=<0,3>			FIXME: choose something sane?
 -Wstrict-null-sentinel			c++ and objc++
 -Wstrict-overflow=<0,5>			FIXME: choose something sane?
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index e0488a5cb..6bb9f8f84 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,4 +1,4 @@
-# manywarnings.m4 serial 17
+# manywarnings.m4 serial 18
 dnl Copyright (C) 2008-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -112,16 +112,19 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
   gl_manywarn_set=
   for gl_manywarn_item in -fno-common \
     -W \
+    -Wabsolute-value \
     -Waddress \
+    -Waddress-of-packed-member \
     -Waggressive-loop-optimizations \
     -Wall \
-    -Wattribute-alias \
+    -Wattribute-warning \
     -Wattributes \
     -Wbad-function-cast \
     -Wbool-compare \
     -Wbool-operation \
     -Wbuiltin-declaration-mismatch \
     -Wbuiltin-macro-redefined \
+    -Wcannot-profile \
     -Wcast-align \
     -Wcast-align=strict \
     -Wcast-function-type \
@@ -186,6 +189,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
     -Wmissing-field-initializers \
     -Wmissing-include-dirs \
     -Wmissing-parameter-type \
+    -Wmissing-profile \
     -Wmissing-prototypes \
     -Wmultichar \
     -Wmultistatement-macros \
@@ -292,6 +296,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
   AC_MSG_RESULT([$gl_alloc_max])
   gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$gl_alloc_max"
   gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2"
+  gl_manywarn_set="$gl_manywarn_set -Wattribute-alias=2"
   gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2"
   gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2"
   gl_manywarn_set="$gl_manywarn_set -Wimplicit-fallthrough=5"
-- 
2.21.0



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

only message in thread, other threads:[~2019-05-03 17:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-03 17:58 [PATCH] Port manywarnings to GCC 9 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).