https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107289
David Malcolm <dmalcolm at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2022-10-17 Ever confirmed|0 |1 --- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> --- I believe that the analyzer is considering the case where "d" is (somehow) called from outside of "main", and thus not making the assumption that *b == &a; seeing the compare with NULL, it considers the case that b could be NULL. It's not yet clear to me that this case of d being called from outside "main" is valid, or if it's always the case that d can only ever be called from main.