From 795c2784c71662c3455c570125b111805939d040 Mon Sep 17 00:00:00 2001 From: Hamid Reza Arzaghi Date: Wed, 16 Sep 2020 01:45:05 +0430 Subject: [PATCH 1/4] remove some of the constructors --- stl/inc/complex | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/stl/inc/complex b/stl/inc/complex index 2bbba58573b..2ae6d33269d 100644 --- a/stl/inc/complex +++ b/stl/inc/complex @@ -697,14 +697,6 @@ public: 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; @@ -800,10 +792,6 @@ public: 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; From fb65ae45a99339437499033488a0450d724abd90 Mon Sep 17 00:00:00 2001 From: Hamid Reza Arzaghi Date: Wed, 16 Sep 2020 03:32:57 +0430 Subject: [PATCH 2/4] remove the FAIL entries --- tests/libcxx/expected_results.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 594943c6aee..bc393ae31ad 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -529,11 +529,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 - # STL bug: regex_traits::transform() isn't following the Standard. std/re/re.traits/transform.pass.cpp FAIL From 9d75948fe4c5536bcff2eefbb1b9d76cb484a02d Mon Sep 17 00:00:00 2001 From: Hamid Reza Arzaghi Date: Wed, 16 Sep 2020 11:53:13 +0430 Subject: [PATCH 3/4] remove skipped_tests entries --- tests/libcxx/skipped_tests.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/libcxx/skipped_tests.txt b/tests/libcxx/skipped_tests.txt index 2ad721b7ee6..d06114cf488 100644 --- a/tests/libcxx/skipped_tests.txt +++ b/tests/libcxx/skipped_tests.txt @@ -529,11 +529,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 - # STL bug: regex_traits::transform() isn't following the Standard. re\re.traits\transform.pass.cpp From ea77021d75bdb05178894137b514bb53147c68ab Mon Sep 17 00:00:00 2001 From: Hamid Reza Arzaghi Date: Wed, 16 Sep 2020 11:55:09 +0430 Subject: [PATCH 4/4] remove more unnecessary constructors --- stl/inc/complex | 9 --------- 1 file changed, 9 deletions(-) diff --git a/stl/inc/complex b/stl/inc/complex index 2ae6d33269d..fbefce0f12e 100644 --- a/stl/inc/complex +++ b/stl/inc/complex @@ -694,9 +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]) {} - _CONSTEXPR20 complex& operator=(const _Ty& _Right) { _Val[_RE] = _Right; _Val[_IM] = 0; @@ -789,9 +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]) {} - _CONSTEXPR20 complex& operator=(const _Ty& _Right) { _Val[_RE] = _Right; _Val[_IM] = 0; @@ -884,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;