https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128228
--- Comment #4 from dave.anglin at bell dot net --- On 2026-10-28 6:18 a.m., redi at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128228 > > --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- > Yes, it looks like the declarations in > libstdc++-v3/config/os/hpux/os_defines.h > mean that std::strtoull is defined even though ::strtoull isn't. But that's > non-conforming, both should be available. I'm not sure how these are implemented. The only active HP-UX target is hppa64-hp-hpux11*. On this target, long and long long are the same size. Target has strtol and strtoul. There's also: /usr/include/inttypes.h:extern intmax_t __strtoll (const char *, char**, int); /usr/include/inttypes.h:extern uintmax_t __strtoull (const char *, char**, int); > So maybe we want: > > --- a/libstdc++-v3/config/os/hpux/os_defines.h > +++ b/libstdc++-v3/config/os/hpux/os_defines.h > @@ -72,6 +72,8 @@ namespace std > #endif > } > } // namespace std > +using std::strtoll; > +using std::strtoull; > #endif // __cplusplus > > // HPUX on IA64 requires vtable to be 64 bit aligned even at 32 bit > I can test the above change on hppa64-hp-hpux11.11.
