https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103123
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The code in GCC: /* Both C and C++ require a diagnostic for a floating constant outside the range of representable values of its type. Since we have __builtin_inf* to produce an infinity, this is now a mandatory pedwarn if the target does not support infinities. */ if (REAL_VALUE_ISINF (real) || (const_type != type && REAL_VALUE_ISINF (real_trunc))) { *overflow = OT_OVERFLOW; if (!(flags & CPP_N_USERDEF)) { if (!MODE_HAS_INFINITIES (TYPE_MODE (type))) pedwarn (input_location, 0, "floating constant exceeds range of %qT", type); else warning (OPT_Woverflow, "floating constant exceeds range of %qT", type); } } This is warning and can be turned off, -Woverflow is on by default.