diff options
author | Edward Smith-Rowland <3dw4rd@verizon.net> | 2019-06-11 16:29:35 +0000 |
---|---|---|
committer | Edward Smith-Rowland <emsr@gcc.gnu.org> | 2019-06-11 16:29:35 +0000 |
commit | d37c29f94234b8b62334f895b69c992bea6a6f10 (patch) | |
tree | 3eb6ac05251fc39e85bdff56a8fd6195a08c8824 | |
parent | 9adfa8e25f4750e27e73aca3ea8df2f34c4b8272 (diff) | |
download | gcc-d37c29f94234b8b62334f895b69c992bea6a6f10.zip gcc-d37c29f94234b8b62334f895b69c992bea6a6f10.tar.gz gcc-d37c29f94234b8b62334f895b69c992bea6a6f10.tar.bz2 |
Fix ConstexprIterator requirements tests - No constexpr algorithms!
2019-06-09 Edward Smith-Rowland <3dw4rd@verizon.net>
Fix ConstexprIterator requirements tests - No constexpr algorithms!
* testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
Replace copy with hand-rolled loop.
* testsuite/23_containers/array/requirements/constexpr_iter.cc:
Ditto.
From-SVN: r272159
3 files changed, 18 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0abbaa92..c758643 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2019-06-09 Edward Smith-Rowland <3dw4rd@verizon.net> + + Fix ConstexprIterator requirements tests - No constexpr algorithms! + * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc: + Replace copy with hand-rolled loop. + * testsuite/23_containers/array/requirements/constexpr_iter.cc: + Ditto. + 2019-06-08 Edward Smith-Rowland <3dw4rd@verizon.net> Test for C++20 p0858 - ConstexprIterator requirements. diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc index 24ab502..799fb03 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc @@ -30,7 +30,11 @@ test() static_assert('W' == *(hw.cbegin() + 7)); std::array<int, hw.size()> a2{{0,0,0,0,0,0,0,0,0,0,0,0,0}}; - std::copy(hw.begin(), hw.end(), a2.begin()); + auto hwi = hw.begin(); + auto hwe = hw.end(); + auto a2i = a2.begin(); + while (hwi != hwe) + *a2i++ = *hwi++; return *(hw.cbegin() + 3); } diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc index 88d69d2..208078c 100644 --- a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc +++ b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc @@ -29,7 +29,11 @@ test() static_assert(1 == *a1.cbegin()); std::array<int, 3> a2{{0, 0, 0}}; - std::copy(a1.begin(), a1.end(), a2.begin()); + auto a1i = a1.begin(); + auto a1e = a1.end(); + auto a2i = a2.begin(); + while (a1i != a1e) + *a2i++ = *a1i++; return n; } |