summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--build-aux/gcc-warning.spec14
-rw-r--r--m4/manywarnings.m424
3 files changed, 40 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b6d070599c..b31bbb185b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2020-05-09 Paul Eggert <eggert@cs.ucla.edu>
+ manywarnings: port to GCC 10.1
+ * build-aux/gcc-warning.spec:
+ * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
+ Add GCC 10.1.0 warnings.
+
careadlinkat: pacify -Wreturn-local-addr
* lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
Pacify gcc 10’s -Wreturn-local-addr option.
diff --git a/build-aux/gcc-warning.spec b/build-aux/gcc-warning.spec
index 723d287afa..89a0bc7346 100644
--- a/build-aux/gcc-warning.spec
+++ b/build-aux/gcc-warning.spec
@@ -8,12 +8,11 @@
-Waliasing fortran
-Walign-commons fortran
-Waligned-new=[none|global|all] c++
--Walloc-size-larger-than= handled specially by gl_MANYWARN_ALL_GCC
+-Walloc-size-larger-than=<bytes> 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
@@ -26,6 +25,8 @@
-Wc++14-compat c++
-Wc++17-compat c++
-Wc++1z-compat c++
+-Wc++20-compat c++
+-Wc++2a-compat c++
-Wc-binding-type fortran
-Wc11-c2x-compat c compatibility
-Wc90-c99-compat c compatibility
@@ -38,6 +39,7 @@
-Wchkp deprecated
-Wclass-conversion c++ and objc++
-Wclass-memaccess c++
+-Wcomma-subscript c++ and objc++
-Wcompare-reals fortran
-Wconditionally-supported c++ and objc++
-Wconversion FIXME maybe? too much noise; encourages bad changes
@@ -67,6 +69,7 @@
-Wimplicit-fallthrough=<0,5> handled specially by gl_MANYWARN_ALL_GCC
-Wimplicit-interface fortran
-Wimplicit-procedure fortran
+-Winaccessible-base c++ and objc++
-Winherited-variadic-ctor c++
-Winit-list-lifetime c++ and objc++
-Winteger-division fortran
@@ -80,12 +83,16 @@
-Wliteral-suffix c++ and objc++
-Wlong-long obsolescent
-Wlto-type-mismatch c++ and objc++
+-Wmismatched-tags c++ and objc++
-Wmissing-format-attribute obsolescent
-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-frame-larger-than see -Wframe-larger-than
+-Wno-larger-than see -Wlarger-than
+-Wno-stack-usage see -Wstack-usage
-Wno-vla-larger-than see -Wvla-larger-than
-Wnoexcept c++
-Wnoexcept-type c++
@@ -96,6 +103,7 @@
-Wold-style-cast c++ and objc++
-Woverloaded-virtual c++
-Woverride-init-side-effects c++ and objc++
+-Woverwrite-recursive fortran
-Wpadded FIXME maybe? warns about "stabil" member in /usr/include/bits/timex.h
-Wpedantic FIXME: too strict?
-Wpessimizing-move c++ and objc++
@@ -110,6 +118,7 @@
-Wrealloc-lhs-all fortran
-Wredundant-decls FIXME maybe? many _gl_cxxalias_dummy FPs
-Wredundant-move c++ and objc++
+-Wredundant-tags c++ and objc++
-Wregister c++ and objc++
-Wreorder c++ and objc++
-Wselector objc and objc++
@@ -158,6 +167,7 @@
-Wvirtual-inheritance c++
-Wvirtual-move-assign c++
-Wvla-larger-than=<number> handled specially by gl_MANYWARN_ALL_GCC
+-Wvolatile c++ and objc++
-Wzero-as-null-pointer-constant c++ and objc++
-Wzerotrip fortran
-frequire-return-statement go
diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4
index 783620da3a..719bafb290 100644
--- a/m4/manywarnings.m4
+++ b/m4/manywarnings.m4
@@ -1,4 +1,4 @@
-# manywarnings.m4 serial 18
+# manywarnings.m4 serial 19
dnl Copyright (C) 2008-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -117,6 +117,23 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
-Waddress-of-packed-member \
-Waggressive-loop-optimizations \
-Wall \
+ -Wanalyzer-double-fclose \
+ -Wanalyzer-double-free \
+ -Wanalyzer-exposure-through-output-file \
+ -Wanalyzer-file-leak \
+ -Wanalyzer-free-of-non-heap \
+ -Wanalyzer-malloc-leak \
+ -Wanalyzer-null-argument \
+ -Wanalyzer-null-dereference \
+ -Wanalyzer-possible-null-argument \
+ -Wanalyzer-possible-null-dereference \
+ -Wanalyzer-stale-setjmp-buffer \
+ -Wanalyzer-tainted-array-index \
+ -Wanalyzer-too-complex \
+ -Wanalyzer-unsafe-call-within-signal-handler \
+ -Wanalyzer-use-after-free \
+ -Wanalyzer-use-of-pointer-in-stale-stack-frame \
+ -Warith-conversion \
-Wattribute-warning \
-Wattributes \
-Wbad-function-cast \
@@ -150,9 +167,11 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
-Wempty-body \
-Wendif-labels \
-Wenum-compare \
+ -Wenum-conversion \
-Wexpansion-to-defined \
-Wextra \
-Wformat-contains-nul \
+ -Wformat-diag \
-Wformat-extra-args \
-Wformat-nonliteral \
-Wformat-security \
@@ -231,6 +250,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
-Wstrict-aliasing \
-Wstrict-overflow \
-Wstrict-prototypes \
+ -Wstring-compare \
-Wstringop-truncation \
-Wsuggest-attribute=cold \
-Wsuggest-attribute=const \
@@ -242,6 +262,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
-Wsuggest-final-types \
-Wswitch \
-Wswitch-bool \
+ -Wswitch-outside-range \
-Wswitch-unreachable \
-Wsync-nand \
-Wsystem-headers \
@@ -269,6 +290,7 @@ m4_defun([gl_MANYWARN_ALL_GCC(C)],
-Wvla \
-Wvolatile-register-var \
-Wwrite-strings \
+ -Wzero-length-bounds \
\
; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"