I made tr1::conj just a using-declaration for std::conj, forgetting
that  the overloads for scalars are not present in C++98. This reverts
the <tr1/complex> part of the change.

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

Tested powerpc64le-linux, as c++11{98,11}.

Committed to trunk.

commit 3b2f5e915a9b4224fb3a15dc3ea6aad575ac1d9e
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Thu Jan 26 19:09:09 2017 +0000

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

diff --git a/libstdc++-v3/include/tr1/complex b/libstdc++-v3/include/tr1/complex
index 06f9ab0..10dce9d 100644
--- a/libstdc++-v3/include/tr1/complex
+++ b/libstdc++-v3/include/tr1/complex
@@ -371,7 +371,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
   using std::arg;
-  using std::conj;
+
+  template<typename _Tp>
+    inline std::complex<_Tp>
+    conj(const std::complex<_Tp>& __z)
+    { return std::conj(__z); }
+
+  template<typename _Tp>
+    inline std::complex<typename __gnu_cxx::__promote<_Tp>::__type>
+    conj(_Tp __x)
+    { return __x; }
+
   using std::imag;
   using std::norm;
   using std::polar;

Reply via email to