aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/tr1_impl/complex9
2 files changed, 14 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 78e5b2a..fd48059 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2007-11-07 Paolo Carlini <pcarlini@suse.de>
+ * include/tr1_impl/complex (fabs): In C++0x mode adjust
+ return type per DR 595 [Ready].
+
+2007-11-07 Paolo Carlini <pcarlini@suse.de>
+
* include/bits/stl_iterator.h (move_iterator<>::pointer): Adjust
typedef per DR 680 [Ready].
diff --git a/libstdc++-v3/include/tr1_impl/complex b/libstdc++-v3/include/tr1_impl/complex
index f763182..5c25cae 100644
--- a/libstdc++-v3/include/tr1_impl/complex
+++ b/libstdc++-v3/include/tr1_impl/complex
@@ -44,7 +44,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template<typename _Tp> std::complex<_Tp> acosh(const std::complex<_Tp>&);
template<typename _Tp> std::complex<_Tp> asinh(const std::complex<_Tp>&);
template<typename _Tp> std::complex<_Tp> atanh(const std::complex<_Tp>&);
+#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+ // DR 595.
+ template<typename _Tp> _Tp fabs(const std::complex<_Tp>&);
+#else
template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&);
+#endif
/// @brief acos(__z) [8.1.2].
// Effects: Behaves the same as C99 function cacos, defined
@@ -288,7 +293,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
// Effects: Behaves the same as C99 function cabs, defined
// in subclause 7.3.8.1.
template<typename _Tp>
+#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+ inline _Tp
+#else
inline std::complex<_Tp>
+#endif
fabs(const std::complex<_Tp>& __z)
{ return std::abs(__z); }