From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2181) id 8B69F3858C20; Thu, 10 Mar 2022 23:45:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8B69F3858C20 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jonathan Wakely To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r12-7606] libstdc++: Do not use fast_float for 16-bit size_t [PR104870] X-Act-Checkin: gcc X-Git-Author: Jonathan Wakely X-Git-Refname: refs/heads/master X-Git-Oldrev: d016dd7dbb8140f03cde7e2179ebaf9ec3e9d2f1 X-Git-Newrev: a8db9b90439f33af9ef602325df1f1e967fc549a Message-Id: <20220310234531.8B69F3858C20@sourceware.org> Date: Thu, 10 Mar 2022 23:45:31 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2022 23:45:31 -0000 https://gcc.gnu.org/g:a8db9b90439f33af9ef602325df1f1e967fc549a commit r12-7606-ga8db9b90439f33af9ef602325df1f1e967fc549a Author: Jonathan Wakely Date: Thu Mar 10 21:13:20 2022 +0000 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. Diff: --- libstdc++-v3/src/c++17/floating_from_chars.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/src/c++17/floating_from_chars.cc b/libstdc++-v3/src/c++17/floating_from_chars.cc index ba1345db3f2..ba0426b3344 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