https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114018
--- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> --- We could also just add: #if __cplusplus > 202002L template<floating_point _Tp> void nexttoward(_Tp, long double) = delete; #endif The existing overloads would be preferred for float, double, long double and integral types, so this would only be chosen for extended floating-point types.