https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79700
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> --- If you call std::ceil with a float, you get the ceil(float) overload. If you don't call it with a float, you haven't got subtle precision anyway and calling ceil didn't change that. If you need ceilf you can include <math.h> and call ceilf.