changeset 39305:b6b010b0c3dc

manywarnings: port to GCC 8.0 * build-aux/gcc-warning.spec: Add -Wcatch-value, -Wclass-memaccess, -Wdo-subscript, -Wextra-semi. Adjust to the fact that the GCC help message now mentions operands for -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation, -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow, -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow, and -Wunused-const-variable. * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias, -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned, -Wmissing-attributes, -Wmultistatement-macros, -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation, -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
author Paul Eggert <eggert@cs.ucla.edu>
date Fri, 27 Apr 2018 22:29:48 -0700
parents 1be4ca580c53
children 262db5fdb390
files ChangeLog build-aux/gcc-warning.spec m4/manywarnings.m4
diffstat 3 files changed, 48 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Apr 24 20:04:05 2018 +0200
+++ b/ChangeLog	Fri Apr 27 22:29:48 2018 -0700
@@ -1,3 +1,19 @@
+2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	manywarnings: port to GCC 8.0
+	* build-aux/gcc-warning.spec: Add -Wcatch-value,
+	-Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
+	fact that the GCC help message now mentions operands for
+	-Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
+	-Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
+	-Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
+	and -Wunused-const-variable.
+	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
+	-Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
+	-Wmissing-attributes, -Wmultistatement-macros,
+	-Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
+	-Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
+
 2018-04-24  Bruno Haible  <bruno@clisp.org>
 
 	sys_socket: Make SO_REUSEPORT available across platforms.
--- a/build-aux/gcc-warning.spec	Tue Apr 24 20:04:05 2018 +0200
+++ b/build-aux/gcc-warning.spec	Fri Apr 27 22:29:48 2018 -0700
@@ -6,7 +6,6 @@
 -Waggregate-return			obsolescent
 -Waliasing				fortran
 -Walign-commons				fortran
--Waligned-new				c++
 -Waligned-new=[none|global|all]		c++
 -Walloca				we like alloca in small doses
 -Walloca-larger-than=<number>		FIXME: choose something sane?
@@ -15,7 +14,7 @@
 -Wampersand				fortran
 -Wargument-mismatch			fortran
 -Warray-bounds				covered by -Warray-bounds=
--Warray-bounds=				handled specially by gl_MANYWARN_ALL_GCC
+-Warray-bounds=<0,2>			handled specially by gl_MANYWARN_ALL_GCC
 -Warray-temporaries			fortran
 -Wassign-intercept			objc/objc++
 -Wc++-compat				FIXME maybe? borderline.  some will want this
@@ -28,7 +27,10 @@
 -Wc90-c99-compat			c compatibility
 -Wc99-c11-compat			c compatibility
 -Wcast-qual				FIXME maybe? too much noise; encourages bad changes
+-Wcatch-value				c++
+-Wcatch-value=<0,3>			c++
 -Wcharacter-truncation			fortran
+-Wclass-memaccess			c++
 -Wcompare-reals				fortran
 -Wconditionally-supported		c++ and objc++
 -Wconversion				FIXME maybe? too much noise; encourages bad changes
@@ -38,20 +40,22 @@
 -Wdeclaration-after-statement		FIXME: do not want.  others may
 -Wdelete-incomplete			c++ and objc++
 -Wdelete-non-virtual-dtor		c++
+-Wdo-subscript				fortran
 -Weffc++				c++
 -Werror-implicit-function-declaration	deprecated
+-Wextra-semi				c++
 -Wfloat-conversion			FIXME maybe? borderline.  some will want this
 -Wfloat-equal				FIXME maybe? borderline.  some will want this
 -Wformat				covered by -Wformat=2
--Wformat=				gcc --help=warnings artifact
--Wformat-overflow			covered by -Wformat-overflow=2
--Wformat-overflow=			handled specially by gl_MANYWARN_ALL_GCC
+-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=			handled specially by gl_MANYWARN_ALL_GCC
+-Wformat-truncation=<0,2>		handled specially by gl_MANYWARN_ALL_GCC
 -Wframe-larger-than=<number>		FIXME: choose something sane?
 -Wfunction-elimination			fortran
 -Wimplicit-fallthrough			covered by -Wimplicit-fallthrough=2
--Wimplicit-fallthrough=			handled specially by gl_MANYWARN_ALL_GCC
+-Wimplicit-fallthrough=<0,5>		handled specially by gl_MANYWARN_ALL_GCC
 -Wimplicit-interface			fortran
 -Wimplicit-procedure			fortran
 -Winherited-variadic-ctor		c++
@@ -81,7 +85,7 @@
 -Wpadded				FIXME maybe?  warns about "stabil" member in /usr/include/bits/timex.h
 -Wpedantic				FIXME: too strict?
 -Wplacement-new				c++
--Wplacement-new=			c++
+-Wplacement-new=<0,2>			c++
 -Wpmf-conversions			c++ and objc++
 -Wproperty-assign-default		objc++
 -Wprotocol				objc++
@@ -99,18 +103,18 @@
 -Wshadow=local				covered by -Wshadow
 -Wshadow-local				covered by -Wshadow
 -Wshift-overflow			covered by -Wshift-overflow=2
--Wshift-overflow=			gcc --help=warnings artifact
+-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?
--Wstrict-aliasing=			FIXME: choose something sane?
+-Wstrict-aliasing=<0,3>			FIXME: choose something sane?
 -Wstrict-null-sentinel			c++ and objc++
--Wstrict-overflow=			FIXME: choose something sane?
+-Wstrict-overflow=<0,5>			FIXME: choose something sane?
 -Wstrict-selector-match			objc and objc++
 -Wstringop-overflow			covered by -Wstringop-overflow=
--Wstringop-overflow=			handled specially by gl_MANYWARN_ALL_GCC
+-Wstringop-overflow=<0,4>		handled specially by gl_MANYWARN_ALL_GCC
 -Wsubobject-linkage			c++ and objc++
 -Wsuggest-override			c++ and objc++
 -Wsurprising				fortran
@@ -129,7 +133,7 @@
 -Wunreachable-code			obsolescent no-op
 -Wunsuffixed-float-constants		triggers warning in gnulib's timespec.h
 -Wunused-const-variable			covered by -Wunusec-const-variable=2
--Wunused-const-variable=		gcc --help=warnings artifact
+-Wunused-const-variable=<0,2>		gcc --help=warnings artifact
 -Wunused-dummy-argument			fortran
 -Wuse-without-only			fortran
 -Wuseless-cast				c++ and objc++
--- a/m4/manywarnings.m4	Tue Apr 24 20:04:05 2018 +0200
+++ b/m4/manywarnings.m4	Fri Apr 27 22:29:48 2018 -0700
@@ -1,4 +1,4 @@
-# manywarnings.m4 serial 13
+# manywarnings.m4 serial 14
 dnl Copyright (C) 2008-2018 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -106,10 +106,9 @@
   # To compare this list to your installed GCC's, run this Bash command:
   #
   # comm -3 \
-  #  <(sed -n 's/^  *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4 | sort) \
-  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort |
-  #      grep -v -x -F -f <(
-  #         awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec))
+  #  <((sed -n 's/^  *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \
+  #     awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec) | sort) \
+  #  <(gcc --help=warnings | sed -n 's/^  \(-[^ ]*\) .*/\1/p' | sort)
 
   gl_manywarn_set=
   for gl_manywarn_item in -fno-common \
@@ -118,6 +117,7 @@
     -Waddress \
     -Waggressive-loop-optimizations \
     -Wall \
+    -Wattribute-alias \
     -Wattributes \
     -Wbad-function-cast \
     -Wbool-compare \
@@ -125,6 +125,8 @@
     -Wbuiltin-declaration-mismatch \
     -Wbuiltin-macro-redefined \
     -Wcast-align \
+    -Wcast-align=strict \
+    -Wcast-function-type \
     -Wchar-subscripts \
     -Wchkp \
     -Wclobbered \
@@ -160,6 +162,7 @@
     -Wframe-address \
     -Wfree-nonheap-object \
     -Whsa \
+    -Wif-not-aligned \
     -Wignored-attributes \
     -Wignored-qualifiers \
     -Wimplicit \
@@ -181,6 +184,7 @@
     -Wmemset-elt-size \
     -Wmemset-transposed-args \
     -Wmisleading-indentation \
+    -Wmissing-attributes \
     -Wmissing-braces \
     -Wmissing-declarations \
     -Wmissing-field-initializers \
@@ -188,6 +192,7 @@
     -Wmissing-parameter-type \
     -Wmissing-prototypes \
     -Wmultichar \
+    -Wmultistatement-macros \
     -Wnarrowing \
     -Wnested-externs \
     -Wnonnull \
@@ -202,6 +207,7 @@
     -Woverride-init \
     -Wpacked \
     -Wpacked-bitfield-compat \
+    -Wpacked-not-aligned \
     -Wparentheses \
     -Wpointer-arith \
     -Wpointer-compare \
@@ -219,13 +225,17 @@
     -Wshift-count-overflow \
     -Wshift-negative-value \
     -Wsizeof-array-argument \
+    -Wsizeof-pointer-div \
     -Wsizeof-pointer-memaccess \
     -Wstack-protector \
     -Wstrict-aliasing \
     -Wstrict-overflow \
     -Wstrict-prototypes \
+    -Wstringop-truncation \
+    -Wsuggest-attribute=cold \
     -Wsuggest-attribute=const \
     -Wsuggest-attribute=format \
+    -Wsuggest-attribute=malloc \
     -Wsuggest-attribute=noreturn \
     -Wsuggest-attribute=pure \
     -Wsuggest-final-methods \