https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114018
Jiang An <de34 at live dot cn> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |de34 at live dot cn --- Comment #12 from Jiang An <de34 at live dot cn> --- (In reply to Jakub Jelinek from comment #11) > But what about following: > #include <cmath> > #include <stdfloat> > > auto f = static_cast<std::float128_t (*)(std::float128_t, long > double)>(&std::nexttoward); > > This doesn't call std::nexttoward(std::float128_t, long double), just checks > if it is defined. The well-formedness is currently unspecified because std::nexttoward is not addressable (see [namespace.std]). I think such conversion should be ill-formed and libstdc++ is currently doing the right thing. No change needs to be done.