https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98984
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Under Annex F, conversion of an out-of-range floating-point value to an integer type other than _Bool produces an unspecified value with the "invalid" exception raised. Losing that exception (and "inexact" for unsigned long long values not representable exactly in float) makes such a transformation questionable unless -fno-trapping-math is used.