gcc/libstdc++-v3
Jonathan Wakely 4f75543dc4 PR libstdc++/61761 fix std::proj for targets without C99 cproj
The current generic implementation of __complex_proj used when cproj is
not available calculates the wrong projection, giving a different result
than given by C99's cproj.

When C99 cproj is not available but isinf and copysign are, use those to
give correct results for float, double and long double. Otherwise, and
for other specializations of std::complex, just use a generic version
that returns its argument, and so doesn't support infinities.

We might want to consider adding additional overloads of __complex_proj
to support extended types such as _Float64x, _Float128 etc.

	PR libstdc++/61761
	* include/std/complex (__complex_proj): Return parameter unchanged.
	[_GLIBCXX_USE_C99_COMPLEX] (__complex_proj): Change overloads for
	floating-point types to take std::complex arguments.
	[_GLIBCXX_USE_C99_MATH_TR1] (__complex_proj): Add overloads for
	floating-point types.
	* testsuite/26_numerics/complex/proj.cc: New test.

From-SVN: r270759
2019-05-01 01:08:36 +01:00
..
config gnu.ver (GLIBCXX_3.4.26): Change _Lock_policyE2 exports to _Lock_policyE[012]. 2019-04-30 13:40:28 +02:00
doc PR libstdc++/90239 use uses_allocator_construction_args in <scoped_allocator> 2019-04-25 23:43:15 +01:00
include PR libstdc++/61761 fix std::proj for targets without C99 cproj 2019-05-01 01:08:36 +01:00
libsupc++ re PR target/89093 (C++ exception handling clobbers d8 VFP register) 2019-04-23 12:03:41 +02:00
po PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00
python PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00
scripts
src PR libstdc++/71312 Increase alignment of pooled mutexes 2019-04-29 13:55:29 +01:00
testsuite PR libstdc++/61761 fix std::proj for targets without C99 cproj 2019-05-01 01:08:36 +01:00
acinclude.m4 PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00
aclocal.m4
ChangeLog PR libstdc++/61761 fix std::proj for targets without C99 cproj 2019-05-01 01:08:36 +01: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
config.h.in PR libstdc++/89460 Fix Networking TS test failures on HP-UX 2019-03-11 16:28:11 +00:00
configure PR libstdc++/89460 Fix Networking TS test failures on HP-UX 2019-03-11 16:28:11 +00:00
configure.ac PR libstdc++/89460 Fix Networking TS test failures on HP-UX 2019-03-11 16:28:11 +00:00
configure.host configure.host (abi_baseline_pair): Adjust for SPARC64/Linux. 2019-02-22 07:25:52 +00:00
crossconfig.m4 PR libstdc++/89460 Fix Networking TS test failures on HP-UX 2019-03-11 16:28:11 +00:00
fragment.am
linkage.m4
Makefile.am
Makefile.in PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00
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.