gcc/libstdc++-v3
Jonathan Wakely f90027d18a libstdc++: Define std::to_chars overloads for __ieee128 [PR 98389]
This adds overloads of std::to_chars for powerpc64's __ieee128, so that
std::to_chars can be used for long double when -mabi=ieeelongdouble is
in used.

Eventually we'll want to extend these new overloads to work for
__float128 on all targets that support that type. For now, we're only
doing it for powerpc64 when the new long double type is supported in
parallel to the old long double type.

Additionally the existing std::to_chars overloads for long double
are given the right symbol version, resolving PR libstdc++/98389.

libstdc++-v3/ChangeLog:

	PR libstdc++/98389
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Do not match to_chars
	symbols for long double arguments mangled as 'g'.
	* config/os/gnu-linux/ldbl-extra.ver: Likewise.
	* config/os/gnu-linux/ldbl-ieee128-extra.ver: Likewise.
	* src/c++17/Makefile.am [GLIBCXX_LDBL_ALT128_COMPAT_TRUE]:
	Use -mabi=ibmlongdouble for floating_to_chars.cc.
	* src/c++17/Makefile.in: Regenerate.
	* src/c++17/floating_to_chars.cc (floating_type_traits_binary128):
	New type defining type traits of IEEE binary128 format.
	(floating_type_traits<__float128>): Define specialization.
	(floating_type_traits<long double>): Define in terms of
	floating_type_traits_binary128 when appropriate.
	(floating_to_shortest_scientific): Handle __float128.
	(sprintf_ld): New function template for printing a long double
	or __ieee128 value using sprintf.
	(__floating_to_chars_shortest, __floating_to_chars_precision):
	Use sprintf_ld.
	(to_chars): Define overloads for __float128.
2021-02-24 16:34:06 +00:00
..
config libstdc++: Define std::to_chars overloads for __ieee128 [PR 98389] 2021-02-24 16:34:06 +00:00
doc libstdc++: Fix filesystem::rename on Windows [PR 98985] 2021-02-12 15:29:50 +00:00
include libstdc++: Fix up constexpr std::char_traits<char>::compare [PR99181] 2021-02-23 09:30:18 +01:00
libsupc++ PR c++/99074 - crash in dynamic_cast<>() on null pointer 2021-02-23 14:14:20 -07:00
po Update copyright years. 2021-01-04 10:26:59 +01:00
python Update copyright years. 2021-01-04 10:26:59 +01:00
scripts libstdc++: Add simd testsuite 2021-01-27 16:37:26 +00:00
src libstdc++: Define std::to_chars overloads for __ieee128 [PR 98389] 2021-02-24 16:34:06 +00:00
testsuite libstdc++: Fix failing tests due to 'u' identifier in kernel header 2021-02-24 16:34:05 +00:00
acinclude.m4
aclocal.m4
ChangeLog Daily bump. 2021-02-24 00:16:26 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020 libstdc++: Fix typo in ChangeLog-2020 2021-01-13 11:02:13 +00:00
config.h.in
configure Update GNU/Hurd configure support 2021-01-05 16:04:14 -07:00
configure.ac
configure.host
crossconfig.m4
fragment.am
linkage.m4
Makefile.am Update copyright years. 2021-01-04 10:26:59 +01:00
Makefile.in
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.