https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108514
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|UNCONFIRMED |RESOLVED
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
> for (; b != 9; b = 9) {
> int g=7;
> f = &g;
> }
> e = (c = d, a) || *f;
Here again, a is non-zero and thus *f does not need to be evaluated. That's
what you see with -O0. With -O1 it's evaluated as a result of optimization.
Note clang does not report the use-after-score at all in this case.