This makes floating_from_chars.cc explicitly include all headers that are used by the original fast_float amalgamation according to r12-6647-gf5c8b82512f9d3, except:
1. <cctype> since fast_float doesn't seem to use anything from it 2. <cinttypes> since fast_float doesn't seem to use anything directly from it (as opposed to from <cstdint>) 3. <system_error> since std::errc is naturally already available from <charconv> This avoids potential build failures on platforms for which some required headers (namely <cstdint>) end up not getting transitively included from elsewhere. Tested on x86_64-pc-linux-gnu, does this look OK for trunk/12? libstdc++-v3/ChangeLog: * src/c++17/floating_from_chars.cc: Include <algorithm>, <iterator>, <limits> and <cstdint>. --- libstdc++-v3/src/c++17/floating_from_chars.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libstdc++-v3/src/c++17/floating_from_chars.cc b/libstdc++-v3/src/c++17/floating_from_chars.cc index 5d18ca32dbb..3a411cf546a 100644 --- a/libstdc++-v3/src/c++17/floating_from_chars.cc +++ b/libstdc++-v3/src/c++17/floating_from_chars.cc @@ -30,14 +30,18 @@ // Prefer to use std::pmr::string if possible, which requires the cxx11 ABI. #define _GLIBCXX_USE_CXX11_ABI 1 +#include <algorithm> #include <array> #include <charconv> #include <bit> +#include <iterator> +#include <limits> #include <string> #include <memory_resource> #include <cfenv> #include <cfloat> #include <cmath> +#include <cstdint> #include <cstdlib> #include <cstring> #include <locale.h> -- 2.40.0.315.g0607f793cb