aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Smith-Rowland <3dw4rd@verizon.net>2019-06-11 16:29:35 +0000
committerEdward Smith-Rowland <emsr@gcc.gnu.org>2019-06-11 16:29:35 +0000
commitd37c29f94234b8b62334f895b69c992bea6a6f10 (patch)
tree3eb6ac05251fc39e85bdff56a8fd6195a08c8824
parent9adfa8e25f4750e27e73aca3ea8df2f34c4b8272 (diff)
downloadgcc-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
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc6
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;
}