From: Jonathan Wakely Date: Wed, 13 May 2015 13:32:31 +0000 (+0100) Subject: * include/std/complex (polar): Check for negative rho (LWG 2459). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0cad9fef03ed3cac4b33cfdaa0a33cacb1a8af4;p=gcc.git * include/std/complex (polar): Check for negative rho (LWG 2459). From-SVN: r223159 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a22a56524f8..af4d5be54c6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,7 @@ 2015-05-13 Jonathan Wakely + * include/std/complex (polar): Check for negative rho (LWG 2459). + * include/experimental/tuple (apply): Handle pointers to member (LWG 2418). * include/std/functional (_Mem_fn_base): Make constructors constexpr. diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex index 585683c6f93..f2a6cf93487 100644 --- a/libstdc++-v3/include/std/complex +++ b/libstdc++-v3/include/std/complex @@ -667,7 +667,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template inline complex<_Tp> polar(const _Tp& __rho, const _Tp& __theta) - { return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); } + { + _GLIBCXX_DEBUG_ASSERT( __rho >= 0 ); + return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); + } template inline complex<_Tp>