Implement P0415 More constexpr for std::complex.
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Fri, 23 Nov 2018 18:17:04 +0000 (18:17 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Fri, 23 Nov 2018 18:17:04 +0000 (18:17 +0000)
commite987fb1ebecc7494f9869071e487deef70a792f6
treed0291d3e39a50cd2ebfd7625833e1b8c288ad0e1
parente02669dbdf1d1099710dbc515f07d0b4785ae2fd
Implement P0415 More constexpr for std::complex.

2018-11-23  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement P0415 More constexpr for std::complex.
* include/std/complex (conj(complex<Tp>), norm(complex<Tp>)): Constexpr;
(real(Tp), imag(Tp)): Constexpr;
(operator@=(Tp), operator@=(complex<Tp>)): Constexpr;
(operator@(Tp,complex<Tp>), operator@(complex<Tp>,Tp)
operator@(complex<Tp>,complex<Tp>)): Constexpr.
* testsuite/26_numerics/complex/comparison_operators/
more_constexpr.cc: New test.
* testsuite/26_numerics/complex/operators/more_constexpr.cc: New test.
* testsuite/26_numerics/complex/requirements/
more_constexpr.cc: New test.
* testsuite/26_numerics/complex/value_operations/
more_constexpr.cc: New test.
* testsuite/26_numerics/headers/complex/synopsis.cc:
Add _GLIBCXX20_CONSTEXPR to applicable operators; Add missing proj().
* testsuite/26_numerics/headers/complex/synopsis.cc:
Add _GLIBCXX20_CONSTEXPR to relevant decls.

From-SVN: r266416
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/complex
libstdc++-v3/testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/complex/operators/more_constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/complex/requirements/more_constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/complex/value_operations/more_constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/complex/synopsis.cc