[Bug tree-optimization/100047] False -Wmaybe-uninitialized on one var depending on type of other var

aldyh at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Nov 30 17:20:36 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100047

Aldy Hernandez <aldyh at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at gcc dot gnu.org,
                   |                            |law at gcc dot gnu.org

--- Comment #3 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Martin Sebor from comment #2)
> Confirmed with GCC 11 and 10 and -Og only with the GCC 11 IL below.  The
> warning depends on a number of optimizations only a few of which are enabled
> at -Og so it has  a higher rate of false positives there.  For GCC 12 with
> -Og we might consider removing -Wmaybe-uninitialized from -Wall.

The threaders reduce the false positive rate for -Wuninitialized and friends,
however hardly any of them run at -O1 and -Og:

$ ./cc1 a.c -fdump-tree-all-details -quiet -I/tmp -Og -Wall
$ ls a.c.*thread*
a.c.034t.ethread

I think the only semi-useful threader at -O1 is DOM which uses evrp under the
covers.

An uneducated suggestion would be to remove these warnings from Wall at < O2.

Though I think if we convert the threading done at DOM to use the backward
threader (when ranger can do floats), we should be able to get this at -O1,
assuming we agree on the time penalty.


More information about the Gcc-bugs mailing list