https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117321
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- Yup, with optimization enabled the compiler can expand nextafter16 directly, but for -O0 we need an extern symbol, which does not come from libstdc++ (although possibly we could define one as a weak symbol in the library).