]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Update from latest fast_float [PR107468]
authorJakub Jelinek <jakub@redhat.com>
Mon, 7 Nov 2022 14:17:21 +0000 (15:17 +0100)
committerJakub Jelinek <jakub@redhat.com>
Mon, 7 Nov 2022 14:17:21 +0000 (15:17 +0100)
commitcb0ceeaee9e041aaac3edd089b07b439621d0f29
tree0a3d7a25efa2f353e1cf17254d0ce93eb695af96
parente5bcbcd04cfcb2f8635ea8431f4e77065e44b0bd
libstdc++: Update from latest fast_float [PR107468]

The following patch updates from fast_float trunk.  That way
it grabs two of the 4 LOCAL_PATCHES, some smaller tweaks, to_extended
cleanups and most importantly fix for the incorrect rounding case,
PR107468 aka https://github.com/fastfloat/fast_float/issues/149
Using std::fegetround showed in benchmarks too slow, so instead of
doing that the patch limits the fast path where it uses floating
point multiplication rather than integral to cases where we can
prove there will be no rounding (the multiplication will be exact, not
just that the two multiplication or division operation arguments are
exactly representable).

2022-11-07  Jakub Jelinek  <jakub@redhat.com>

PR libstdc++/107468
* src/c++17/fast_float/MERGE: Adjust for merge from upstream.
* src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were
upstreamed.
* src/c++17/fast_float/README.md: Merge from fast_float
662497742fea7055f0e0ee27e5a7ddc382c2c38e commit.
* src/c++17/fast_float/fast_float.h: Likewise.
* testsuite/20_util/from_chars/pr107468.cc: New test.
libstdc++-v3/src/c++17/fast_float/LOCAL_PATCHES
libstdc++-v3/src/c++17/fast_float/MERGE
libstdc++-v3/src/c++17/fast_float/README.md
libstdc++-v3/src/c++17/fast_float/fast_float.h
libstdc++-v3/testsuite/20_util/from_chars/pr107468.cc [new file with mode: 0644]
This page took 0.063065 seconds and 5 git commands to generate.