On Wed, Oct 29, 2025 at 11:20 PM Jonathan Wakely via Gcc <[email protected]> wrote: > > On Wed, 29 Oct 2025 at 22:09, Jonathan Wakely <[email protected]> wrote: > > > > On Wed, 29 Oct 2025 at 21:53, Jonathan Wakely <[email protected]> wrote: > > > > > > On Wed, 29 Oct 2025 at 21:47, Jonathan Wakely <[email protected]> > > > wrote: > > > > > > > > On Wed, 29 Oct 2025 at 21:31, Joel Sherrill <[email protected]> > > > > wrote: > > > > > > > > > > Hi > > > > > > > > > > I am starting a new thread on > > > > > https://gcc.gnu.org/wiki/WarningHistory. It looks useful but in need > > > > > of an update. Before I spend more itme on it, I wanted to make sure I > > > > > am doing the archeology correctly. > > > > > > > > > > Use git diff with pairs of "adjacent" release tags. I did this for > > > > > 8.2.0->8.3.0->8.4.0->8.5.0 but didn't see any. This is the command > > > > > for what's new in 9.1.0. > > > > > > > > > > $ git diff releases/gcc-8.1.0 releases/gcc-9.1.0 -- common.opt > > > > > > > > > > And after wading through the output, I think this is the new set of > > > > > warnings in gcc 9.1.0. > > > > > > > > > > New in 9.1.0 > > > > > ============ > > > > > -Wattribute-alias > > > > > -Wattribute-warning > > > > > -Wcannot-profile > > > > > -Wdeprecated > > > > > -Wmissing-profile > > > > > > > > > > Does this process look correct to everyone? If so, I will update the > > > > > wiki page. > > > > > > > > -Wdeprecated is much older than GCC 9. You can check the manual for > > > > GCC 8.5.0 to see if the new warnings really are new, or were already > > > > documented for 8.5.0, and that shows -Wno-deprecated was present > > > > already. > > > > > > > > https://gcc.gnu.org/gcc-9/changes.html#c-family suggests that > > > > -Wattribute-alias already existed and was "enhanced" in gcc-9. > > > > > > > > That page also lists -Waddress-of-packed-member and -Wabsolute-value > > > > as new warnings, and five new C++ warnings, which weren't found by > > > > your method. Maybe there are other .opt files to consider, for > > > > C-specific and C++-specific warnings? > > > > > > Ah, I think I remembered the method I used for creating the content of > > > that page: > > > diff <( ~/gcc/8.5.0/bin/gcc --help=warnings -Q | sort) <( > > > ~/gcc/9.1.0/bin/gcc --help=warnings -Q | sort) > > > > > > Of course, this means you need to have every version of GCC installed! > > > > > > For the command above I get this output: > > > > > > 7a8 > > > > -Wabsolute-value [disabled] > > > 8a10 > > > > -Waddress-of-packed-member [enabled] > > > 15c17 > > > < -Walloc-size-larger-than= > > > --- > > > > -Walloc-size-larger-than= -1 > > > 18c20 > > > < -Walloca-larger-than=<number> 0 > > > --- > > > > -Walloca-larger-than=<number> -1 > > > 25c27,29 > > > < -Wattribute-alias [enabled] > > > --- > > > > -Wattribute-alias > > > > -Wattribute-alias=<0,2> 1 > > > > -Wattribute-warning [enabled] > > > 38a43 > > > > -Wc11-c2x-compat [enabled] > > > 40a46 > > > > -Wcannot-profile [enabled] > > > 44a51 > > > > -Wcast-result [disabled] > > > 49c56,57 > > > < -Wchkp [disabled] > > > --- > > > > -Wchkp > > > > -Wclass-conversion [enabled] > > > 67a76,77 > > > > -Wdeprecated-copy [disabled] > > > > -Wdeprecated-copy-dtor [disabled] > > > 103c113 > > > < -Wframe-larger-than=<number> > > > --- > > > > -Wframe-larger-than=<byte-size> -1 > > > 118a129 > > > > -Winit-list-lifetime [enabled] > > > 132c143 > > > < -Wlarger-than=<number> > > > --- > > > > -Wlarger-than=<byte-size> -1 > > > 151a163 > > > > -Wmissing-profile [enabled] > > > 158a171,173 > > > > -Wno-alloc-size-larger-than > > > > -Wno-alloca-larger-than > > > > -Wno-vla-larger-than > > > 183a199 > > > > -Wpessimizing-move [disabled] > > > 191a208 > > > > -Wprio-ctor-dtor [enabled] > > > 198a216 > > > > -Wredundant-move [disabled] > > > 227c245 > > > < -Wstack-usage=<number> 0 > > > --- > > > > -Wstack-usage=<byte-size> -1 > > > 298c316 > > > < -Wvla-larger-than=<number> 0 > > > --- > > > > -Wvla-larger-than=<number> -1 > > > > > > Some of these are changes to the default values, so not new warnings, > > > but it tells me these are new: > > > > > > -Wabsolute-value > > > -Waddress-of-packed-member > > > -Wattribute-warning > > > -Wc11-c2x-compat > > > -Wcannot-profile > > > -Wcast-result > > > -Wclass-conversion > > > -Wdeprecated-copy > > > -Wdeprecated-copy-dtor > > > -Winit-list-lifetime > > > -Wmissing-profile > > > -Wno-alloc-size-larger-than > > > -Wno-alloca-larger-than > > > -Wno-vla-larger-than > > > -Wpessimizing-move > > > -Wprio-ctor-dtor > > > -Wredundant-move > > > > I've added everything up to 13.1 > > And now everything up to current trunk.
I wonder if it would be generally useful to know when options were introduced and whether we should document that in the manual even? OTOH that suggests version checks in configure when functional testing is what should be done. Richard.
