https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60540

--- Comment #10 from Rich Felker <bugdal at aerifal dot cx> ---
GCC can choose the behavior for any undefined behavior it wants, and GCC
absolutely can make transformations based on behaviors it guarantees or that
Annex F guarantees on targets for which it implements the requirements of Annex
F. On this particular target, and on every target of any modern relevance,
(float)16777217 has well-defined behavior. On ones with floating point
environment (most/all hardfloat), it has side effects (inexact), so can't be
elided without the flags to make gcc ignore those side effects.

Reply via email to