https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101953
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- 6.3.1.4 Real floating and integer 1 When a finite value of real floating type is converted to an integer type other than _Bool, the fractional part is discarded (i.e., the value is truncated toward zero). If the value of the integral part cannot be represented by the integer type, the behavior is undefined.61)