GCC Wiki Warning History
Jonathan Wakely
jwakely.gcc@gmail.com
Wed Oct 29 22:09:31 GMT 2025
On Wed, 29 Oct 2025 at 21:53, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>
> On Wed, 29 Oct 2025 at 21:47, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> >
> > On Wed, 29 Oct 2025 at 21:31, Joel Sherrill <joel.sherrill@gmail.com> 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
More information about the Gcc
mailing list