https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111063
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Yet, even for C++ both the compiler middle-end and users assume they can do say 0.0 / 0.0 and get a NaN, not UB etc. Even for the conversions, the generated code or library functions just set the resulting integer to minimum or maximum value of the type depending on what is closer to the value. So, I think it is good that -fsanitize=undefined doesn't include -fsanitize=float-divide-by-zero,float-cast-overflow.