complex (fabs): In C++0x mode adjust return type per DR 595 [Ready].
authorPaolo Carlini <pcarlini@suse.de>
Thu, 8 Nov 2007 02:48:25 +0000 (02:48 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 8 Nov 2007 02:48:25 +0000 (02:48 +0000)
2007-11-07  Paolo Carlini  <pcarlini@suse.de>

* include/tr1_impl/complex (fabs): In C++0x mode adjust
return type per DR 595 [Ready].

From-SVN: r129983

libstdc++-v3/ChangeLog
libstdc++-v3/include/tr1_impl/complex

index 78e5b2a629de554f1fb861a50fb3191fd1769523..fd480597f31fe85ae72a54e021948d896af4b145 100644 (file)
@@ -1,3 +1,8 @@
+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
index f7631829da09c1c12ccbae4e60576c90fc23d1f4..5c25cae4fb4dfd6fbc41541fbac66f74ce846415 100644 (file)
@@ -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); }