Implement LWG2870: Default value of parameter theta of polar should be dependent
llvm-svn: 323918
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 0551d83ed50d66f90badacdb070b1bde607a0b66
diff --git a/include/complex b/include/complex
index 41a47cf..c7c1cde 100644
--- a/include/complex
+++ b/include/complex
@@ -203,7 +203,7 @@
template<Integral T> complex<double> proj(T);
complex<float> proj(float);
-template<class T> complex<T> polar(const T&, const T& = 0);
+template<class T> complex<T> polar(const T&, const T& = T());
// 26.3.8 transcendentals:
template<class T> complex<T> acos(const complex<T>&);
@@ -991,7 +991,7 @@
template<class _Tp>
complex<_Tp>
-polar(const _Tp& __rho, const _Tp& __theta = _Tp(0))
+polar(const _Tp& __rho, const _Tp& __theta = _Tp())
{
if (__libcpp_isnan_or_builtin(__rho) || signbit(__rho))
return complex<_Tp>(_Tp(NAN), _Tp(NAN));
diff --git a/test/std/numerics/complex.number/complex.value.ops/polar.pass.cpp b/test/std/numerics/complex.number/complex.value.ops/polar.pass.cpp
index 5e6cb0d..69463de 100644
--- a/test/std/numerics/complex.number/complex.value.ops/polar.pass.cpp
+++ b/test/std/numerics/complex.number/complex.value.ops/polar.pass.cpp
@@ -11,7 +11,7 @@
// template<class T>
// complex<T>
-// polar(const T& rho, const T& theta = 0);
+// polar(const T& rho, const T& theta = T()); // changed from '0' by LWG#2870
#include <complex>
#include <cassert>
diff --git a/www/cxx2a_status.html b/www/cxx2a_status.html
index 68206cb..684ed7d 100644
--- a/www/cxx2a_status.html
+++ b/www/cxx2a_status.html
@@ -106,7 +106,7 @@
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td><a href="https://wg21.link/LWG2779">2779</a></td><td>[networking.ts] Relax requirements on buffer sequence iterators</td><td>Albuquerque</td><td></td></tr>
- <tr><td><a href="https://wg21.link/LWG2870">2870</a></td><td>Default value of parameter theta of polar should be dependent</td><td>Albuquerque</td><td></td></tr>
+ <tr><td><a href="https://wg21.link/LWG2870">2870</a></td><td>Default value of parameter theta of polar should be dependent</td><td>Albuquerque</td><td>Complete</td></tr>
<tr><td><a href="https://wg21.link/LWG2935">2935</a></td><td>What should create_directories do when p already exists but is not a directory?</td><td>Albuquerque</td><td></td></tr>
<tr><td><a href="https://wg21.link/LWG2941">2941</a></td><td>[thread.req.timing] wording should apply to both member and namespace-level functions</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr>
<tr><td><a href="https://wg21.link/LWG2944">2944</a></td><td>LWG 2905 accidentally removed requirement that construction of the deleter doesn't throw an exception</td><td>Albuquerque</td><td><i>Nothing to do</i></td></tr>
@@ -135,7 +135,7 @@
<!-- <tr><td></td><td></td><td></td><td></td></tr> -->
</table>
- <p>Last Updated: 24-Jan-2018</p>
+ <p>Last Updated: 31-Jan-2018</p>
</div>
</body>
</html>