https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87390
--- Comment #5 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- It's 6.3.1.4 for conversions between real floating and integer types that, in C99 but not C11, I think requires the resulting value to be representable in the resulting real floating type.