[Bug middle-end/98049] False positive when compiling with -Os -Wmaybe-uninitialized

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 9 19:30:02 GMT 2021


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2020-11-30 00:00:00         |2021-4-9
      Known to fail|                            |10.2.0, 11.0
                 CC|                            |msebor at gcc dot gnu.org

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
The false positive is due to the algorithm exceeding the hardcoded conservative
internal MAX_CHAIN_LEN limit.  Bumping it up from the current 5 to 6 avoids the
warning in this case.

As far as I can tell, the limit keeps the algorithm from becoming O(n^2) while
detecting cycles in the dependency graph.  But it looks to me like we might be
able to achieve the same result by using a more efficient data structure, such
as bitmap rather than iterating over the elements of a vector (the edges of the
graph).


More information about the Gcc-bugs mailing list