https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26926
Tomasz Kamiński <tkaminsk at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tkaminsk at gcc dot gnu.org --- Comment #3 from Tomasz Kamiński <tkaminsk at gcc dot gnu.org> --- > And there is certainly no need for a libstdc++ wrapper function that takes > the existing double version, adds and l, and then casts the long double to > double, and calls the double function. I am not 100% sure, if that answer the question, but the C++ standard requires a conforming implementation to provide following declarations, even if the sizeof(double) == sizeof(long double). constexpr long double acosl(long double x); constexpr long double asinl(long double x); And because double and long double are required to be distinct types, even if they size are the same and use same representation.