[PATCH] libstdc++: Ensure headers used by fast_float are included

Jonathan Wakely jwakely@redhat.com
Wed Apr 12 15:04:11 GMT 2023


On Wed, 12 Apr 2023 at 14:45, Patrick Palka via Libstdc++
<libstdc++@gcc.gnu.org> wrote:
>
> 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?

Yes for both, thanks.


>
> 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
>



More information about the Libstdc++ mailing list