https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117425
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is unspecified on the order of evaluating e() vs ((*c = 0, 0) || 0).
Even though there is a sequence point between *c = 0 and 0 (and || 0) there is
no sequence point for the original `|` so e() could be executed first or `*c =
0;`