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

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|GCC Static Analyzer         |GCC Static Analyzer
                   |evaluates                   |evaluates
                   |`__analyzer_eval((((c) + 1) |`__analyzer_eval((((c) + 1)
                   |== ((&b[0]) + 1)))` to be   |== ((&b[0]) + 1)))` to be
                   |FLASE with the fact `c ==   |FALSE with the fact `c ==
                   |&b[0]`                      |&b[0]`
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2023-03-20
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Confirmed.

The analyzer is comparing:

  (gdb) call rhs1_sval->dump(true)
  &b

  (gdb) call rhs2_sval->dump(true)
  &b[(int)0]

and not treating these two pointers as identical.

Reply via email to