https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110653
--- Comment #6 from dave.anglin at bell dot net --- On 2023-07-13 1:09 p.m., redi at gcc dot gnu.org wrote: > I'm testing this, which should define std::stof and std::stold for hpux11.11: > > --- a/libstdc++-v3/include/bits/basic_string.h > +++ b/libstdc++-v3/include/bits/basic_string.h > @@ -4148,12 +4148,14 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 > stod(const string& __str, size_t* __idx = 0) > { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } > > -#if _GLIBCXX_USE_C99_STDLIB > +#if _GLIBCXX_USE_C99_STDLIB || _GLIBCXX_HAVE_STRTOF > // NB: strtof vs strtod. > inline float > stof(const string& __str, size_t* __idx = 0) > { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } > +#endif > > +#if _GLIBCXX_USE_C99_STDLIB || _GLIBCXX_HAVE_STRTOLD > inline long double > stold(const string& __str, size_t* __idx = 0) > { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); > } > @@ -4161,7 +4163,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 > inline long double > stold(const string& __str, size_t* __idx = 0) > { return std::stod(__str, __idx); } > -#endif // _GLIBCXX_USE_C99_STDLIB > +#endif We get this error with the above: bash-5.1$ gcc/xg++ -Bgcc/ -o xxx xxx.cc -I./hppa64-hp-hpux11.11/libstdc++-v3/include -I./hppa64-hp-hpux11.11/libstdc++-v3/include/hppa64-hp-hpux11.11 -I/home/dave/gnu/gcc/gcc/libstdc++-v3/libsupc++ -Lhppa64-hp-hpux11.11/libstdc++-v3/src/.libs -O2 In file included from ./hppa64-hp-hpux11.11/libstdc++-v3/include/string:54, from xxx.cc:1: ./hppa64-hp-hpux11.11/libstdc++-v3/include/bits/basic_string.h: In function 'long double std::__cxx11::stold(const std::string&, std::size_t*)': ./hppa64-hp-hpux11.11/libstdc++-v3/include/bits/basic_string.h:4161:36: error: 'strtold' is not a member of 'std'; did you mean 'strtoll'? 4161 | { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } | ^~~~~~~ | strtoll