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