[Bug tree-optimization/100115] Bogus -Wmaybe-uninitialized warning with -O3

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 16 16:38:32 GMT 2021


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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |tree-optimization
                 CC|                            |msebor at gcc dot gnu.org
           Keywords|                            |diagnostic
             Blocks|                            |24639

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
I can confirm the warning but the test case is far too big for me to say
whether or not it's valid.  As it turns out, the test case is also too big for
GCC as it exceeds at least one internal limit named MAX_CHAIN_LEN.  The limit
is hardcoded to an exceedingly low value of 5 but with the test case reaches
77.  Exceeding this limit can lead to either false positives or negatives.  But
bumping it way up doesn't avoid the warning so something else is going on.

I'm trying to reduce the test case to something manageable but that can take
many hours, even days.  It would be really helpful if you could trim it down a
bit, e.g., by removing the biggest non-essentials like <iostream>.

That being said, the context of the warning mentions std::optional which has
been known to be challenging for analysis and has led to false positives (see
pr80635 and related) as well as less than optimal code in the past, so I expect
this is going to caused by a similar limitation.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
[Bug 24639] [meta-bug] bug to track all Wuninitialized issues


More information about the Gcc-bugs mailing list