https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116723
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |INVALID
Status|UNCONFIRMED |RESOLVED
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(p.f0 != (-18))
For uint16_t, this is always true and is an always infinite loop. While for
int16_t it is not and the loop is removed because you supplied -ffinite-loop.
-ffinite-loop does NOT remove always infinite loops by design and is what is
required by the C++ standard even.
So invalid by design.