Hash :
3f14b27d
Author :
Date :
2019-05-03T10:55:25
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
# 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++
-Waggregate-return obsolescent
-Waliasing fortran
-Walign-commons fortran
-Waligned-new=[none|global|all] c++
-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++
-Wc++14-compat c++
-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++
-Wconversion FIXME maybe? too much noise; encourages bad changes
-Wconversion-extra fortran
-Wconversion-null c++ and objc++
-Wctor-dtor-privacy c++
-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
-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-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
-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=<byte-size> FIXME: choose something sane?
-Wline-truncation fortran
-Wliteral-suffix c++ and objc++
-Wlong-long obsolescent
-Wlto-type-mismatch 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-vla-larger-than see -Wvla-larger-than
-Wnoexcept c++
-Wnoexcept-type c++
-Wnon-template-friend c++
-Wnon-virtual-dtor c++
-Wnormalized covered by -Wnormalized=
-Wnormalized=[none|id|nfc|nfkc] handled specially by gl_MANYWARN_ALL_GCC
-Wold-style-cast c++ and objc++
-Woverloaded-virtual c++
-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=global 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=<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?
-Wstrict-selector-match objc and objc++
-Wstringop-overflow covered by -Wstringop-overflow=
-Wstringop-overflow=<0,4> handled specially by gl_MANYWARN_ALL_GCC
-Wsubobject-linkage c++ and objc++
-Wsuggest-override c++ and objc++
-Wsurprising fortran
-Wswitch-default https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
-Wswitch-enum FIXME maybe? borderline. some will want this
-Wsynth deprecated
-Wtabs fortran
-Wtarget-lifetime fortran
-Wtemplates c++ and objc++
-Wterminate c++ and objc++
-Wtraditional obsolescent
-Wtraditional-conversion obsolescent
-Wundeclared-selector objc and objc++
-Wundef FIXME maybe? too many false positives
-Wundefined-do-loop fortran
-Wunderflow fortran
-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=<0,2> gcc --help=warnings artifact
-Wunused-dummy-argument fortran
-Wuse-without-only fortran
-Wuseless-cast c++ and objc++
-Wvirtual-inheritance c++
-Wvirtual-move-assign c++
-Wvla-larger-than=<number> handled specially by gl_MANYWARN_ALL_GCC
-Wzero-as-null-pointer-constant c++ and objc++
-Wzerotrip fortran
-frequire-return-statement go