diff --git a/stl/inc/complex b/stl/inc/complex index 2bbba58573b..fbefce0f12e 100644 --- a/stl/inc/complex +++ b/stl/inc/complex @@ -694,17 +694,6 @@ public: constexpr complex(const _Ty& _Realval = 0, const _Ty& _Imagval = 0) : _Complex_base(_Realval, _Imagval) {} - constexpr complex(const _Fcomplex_value& _Right) - : _Complex_base(_Right._Val[_RE], _Right._Val[_IM]) {} - - constexpr complex(const _Dcomplex_value& _Right) - : _Complex_base( - static_cast(_Right._Val[_RE]), static_cast(_Right._Val[_IM])) {} - - constexpr complex(const _Lcomplex_value& _Right) - : _Complex_base( - static_cast(_Right._Val[_RE]), static_cast(_Right._Val[_IM])) {} - _CONSTEXPR20 complex& operator=(const _Ty& _Right) { _Val[_RE] = _Right; _Val[_IM] = 0; @@ -797,13 +786,6 @@ public: constexpr complex(const _Ty& _Realval = 0, const _Ty& _Imagval = 0) : _Complex_base(_Realval, _Imagval) {} - constexpr complex(const _Dcomplex_value& _Right) - : _Complex_base(_Right._Val[_RE], _Right._Val[_IM]) {} - - constexpr complex(const _Lcomplex_value& _Right) - : _Complex_base( - static_cast(_Right._Val[_RE]), static_cast(_Right._Val[_IM])) {} - _CONSTEXPR20 complex& operator=(const _Ty& _Right) { _Val[_RE] = _Right; _Val[_IM] = 0; @@ -896,9 +878,6 @@ public: constexpr complex(const _Ty& _Realval = 0, const _Ty& _Imagval = 0) : _Complex_base(_Realval, _Imagval) {} - constexpr complex(const _Lcomplex_value& _Right) - : _Complex_base(_Right._Val[_RE], _Right._Val[_IM]) {} - _CONSTEXPR20 complex& operator=(const _Ty& _Right) { _Val[_RE] = _Right; _Val[_IM] = 0; diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index a3811bb5d2a..5d5ef904499 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -527,11 +527,6 @@ std/localization/locale.categories/category.monetary/locale.moneypunct/money_bas std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp FAIL std/input.output/file.streams/fstreams/filebuf.virtuals/underflow.pass.cpp FAIL -# STL bug: Our inheritance implementation is allowing this to compile when it shouldn't. -std/numerics/complex.number/complex.special/double_long_double_implicit.compile.fail.cpp FAIL -std/numerics/complex.number/complex.special/float_double_implicit.compile.fail.cpp FAIL -std/numerics/complex.number/complex.special/float_long_double_implicit.compile.fail.cpp FAIL - # GH-1004 : Error C2664 in std::regex_traits::transform std/re/re.traits/transform.pass.cpp FAIL diff --git a/tests/libcxx/skipped_tests.txt b/tests/libcxx/skipped_tests.txt index df6828b329f..4156fcd0d38 100644 --- a/tests/libcxx/skipped_tests.txt +++ b/tests/libcxx/skipped_tests.txt @@ -527,11 +527,6 @@ localization\locale.categories\category.monetary\locale.moneypunct\money_base.pa input.output\file.streams\fstreams\filebuf.virtuals\overflow.pass.cpp input.output\file.streams\fstreams\filebuf.virtuals\underflow.pass.cpp -# STL bug: Our inheritance implementation is allowing this to compile when it shouldn't. -numerics\complex.number\complex.special\double_long_double_implicit.compile.fail.cpp -numerics\complex.number\complex.special\float_double_implicit.compile.fail.cpp -numerics\complex.number\complex.special\float_long_double_implicit.compile.fail.cpp - # GH-1004 : Error C2664 in std::regex_traits::transform re\re.traits\transform.pass.cpp