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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |tree-optimization
            Summary|[15 regression]             |[12/13/14/15 regression]
                   |-Wfree-nonheap-object false |-Wfree-nonheap-object false
                   |positive                    |positive
   Target Milestone|---                         |12.5

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So there is a false positive but there is also true positive here.

The true positive is due to processJetContainer assumes `jbeg != bend`. Adding:
  if (jbeg == jend) __builtin_unreachable();

To the begining of the function gets rid of one reason for the warning but
there is still another.

Note the difference between GCC 14 and 15 is:
  # _34 = PHI <&listJets.D.39335._M_impl._M_node.D.18822(4), &MEM[(struct
_List_node_header *)&listJets].D.18822(2)>


vs &MEM[(struct _List_node_header *)&listJets].D.18258 directly.

And getting rid of the true positive makes GCC 14 warn on the false positive.

Reply via email to