GCC Wiki Warning History
Jonathan Wakely
jwakely.gcc@gmail.com
Wed Oct 29 22:18:22 GMT 2025
On Wed, 29 Oct 2025 at 22:09, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>
> 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
And now everything up to current trunk.
More information about the Gcc
mailing list