https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66346
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c++ |libstdc++ --- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- In C, log10 is a function that takes a double, and log10l takes a long double. In C++, cmath provides overloads of std::log10. You did not include math.h, so you are not allowed to use ::log10. And then libstdc++ has a long-standing bug where it does not overload standard functions in the global namespace.