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

Reply via email to