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.