https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110653
Bug ID: 110653
Summary: Support std::stoi etc. without C99 APIs
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
CC: danglin at gcc dot gnu.org, redi at gcc dot gnu.org,
unassigned at gcc dot gnu.org
Target Milestone: ---
Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
Build: hppa64-hp-hpux11.11
+++ This bug was initially created as a clone of Bug #110646 +++
g++ -std=c++11 -c -g -DIN_GCC -fno-exceptions -fno-rtti
-fasynchronous-unwi
nd-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wmiss
ing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H
-DGENERATOR_FILE -I. -Ibuild -I../../gcc/gcc -I../../gcc/gcc/build
-I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include \
-o build/gensupport.o ../../gcc/gcc/gensupport.cc
../../gcc/gcc/gensupport.cc: In constructor 'conlist::conlist(const char*,
unsigned int, bool)':
../../gcc/gcc/gensupport.cc:643:18: error: 'stoi' is not a member of 'std'; did
you mean 'atoi'?
643 | idx = std::stoi (name);
| ^~~~
| atoi
Build gcc is:
gcc version 12.2.1 20230420 [remotes/origin/releases/gcc-12
r12-9449-g3907147aa9
b] (GCC)
libstdc++ provides std::stoi in basic_string.h when _GLIBCXX_USE_C99_STDLIB is
1. However, hpux11.11 lacks all the routines needed when
_GLIBCXX_USE_C99_STDLIB is 1. But it does have strtol, atol, atoi, strtoul,
strtod and atof. strtoll and strtoull are not needed on hppa64 as long long
and long are equivalent. So it seems the string conversion routines could be
provided in basic_string.h for this target.