aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-03-10 21:13:20 +0000
committerJonathan Wakely <jwakely@redhat.com>2022-03-10 23:45:03 +0000
commita8db9b90439f33af9ef602325df1f1e967fc549a (patch)
tree6da169d35f91269045a95af7aad8cf44e651dbbb /libstdc++-v3
parentd016dd7dbb8140f03cde7e2179ebaf9ec3e9d2f1 (diff)
downloadgcc-a8db9b90439f33af9ef602325df1f1e967fc549a.zip
gcc-a8db9b90439f33af9ef602325df1f1e967fc549a.tar.gz
gcc-a8db9b90439f33af9ef602325df1f1e967fc549a.tar.bz2
libstdc++: Do not use fast_float for 16-bit size_t [PR104870]
The preprocessor condition for using fast_float should match the one in the header, and require at least 32-bit size_t. libstdc++-v3/ChangeLog: PR libstdc++/104870 * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32 before using fast_float.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/src/c++17/floating_from_chars.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libstdc++-v3/src/c++17/floating_from_chars.cc b/libstdc++-v3/src/c++17/floating_from_chars.cc
index ba1345d..ba0426b 100644
--- a/libstdc++-v3/src/c++17/floating_from_chars.cc
+++ b/libstdc++-v3/src/c++17/floating_from_chars.cc
@@ -61,7 +61,8 @@
extern "C" __ieee128 __strtoieee128(const char*, char**);
#endif
-#if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64
+#if _GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 \
+ && __SIZE_WIDTH__ >= 32
# define USE_LIB_FAST_FLOAT 1
# if __LDBL_MANT_DIG__ == __DBL_MANT_DIG__
# undef USE_STRTOD_FOR_FROM_CHARS