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;