[Bug libstdc++/70607] [5/6/7 Regression] The return type of std::conj must be std::complex

2017-01-26 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70607

--- Comment #9 from Jonathan Wakely  ---
Author: redi
Date: Thu Jan 26 19:40:02 2017
New Revision: 244951

URL: https://gcc.gnu.org/viewcvs?rev=244951=gcc=rev
Log:
PR libstdc++/70607 revert recent changes to 

PR libstdc++/70607
* include/tr1/complex (conj): Remove using-declaration and restore
overloads, reverting previous change.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/tr1/complex

[Bug libstdc++/70607] [5/6/7 Regression] The return type of std::conj must be std::complex

2017-01-25 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70607

Jonathan Wakely  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |7.0

--- Comment #8 from Jonathan Wakely  ---
Fixed for GCC 7. As I said, I don't think it's a good idea to change this
midway through the GCC 5 and GCC 6 releases.

[Bug libstdc++/70607] [5/6/7 Regression] The return type of std::conj must be std::complex

2017-01-25 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70607

--- Comment #7 from Jonathan Wakely  ---
Author: redi
Date: Wed Jan 25 15:01:05 2017
New Revision: 244900

URL: https://gcc.gnu.org/viewcvs?rev=244900=gcc=rev
Log:
PR libstdc++/70607 make proj(T) and conj(T) return complex

PR libstdc++/61791
PR libstdc++/70607
* include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
(proj(T), conj(T)): Change return types per DR 1522.
* include/tr1/complex (conj): Remove overloads and use std::conj.
* testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
* testsuite/26_numerics/complex/dr781.cc: ... this, and update.
* testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
real(T) and imag(T). Allow testing for C++11 too.

Added:
trunk/libstdc++-v3/testsuite/26_numerics/complex/dr781.cc
  - copied, changed from r244898,
trunk/libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc
Removed:
trunk/libstdc++-v3/testsuite/26_numerics/complex/dr781_dr1137.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/complex
trunk/libstdc++-v3/include/tr1/complex
   
trunk/libstdc++-v3/testsuite/26_numerics/complex/value_operations/constexpr2.cc

[Bug libstdc++/70607] [5/6/7 Regression] The return type of std::conj must be std::complex

2017-01-25 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70607

Jonathan Wakely  changed:

   What|Removed |Added

  Known to work||4.4.7
Summary|The return type of  |[5/6/7 Regression] The
   |std::conj must be   |return type of std::conj
   |std::complex |must be std::complex
  Known to fail||4.5.4, 4.6.4, 4.7.4, 4.8.5,
   ||4.9.4, 5.4.0, 6.3.0, 7.0

--- Comment #6 from Jonathan Wakely  ---
This regressed with r156940 when we implemented DR 1137 for GCC 4.5

It's probably too late to change it for 5 or 6, but we could do so for GCC 7.