GCC Wiki Warning History
Jonathan Wakely
jwakely.gcc@gmail.com
Wed Oct 29 21:53:33 GMT 2025
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
More information about the Gcc
mailing list