[gcc/devel/omp/gcc-9] Fix ConstexprIterator requirements tests - No constexpr algorithms!
Tobias Burnus
burnus@gcc.gnu.org
Thu Mar 5 13:58:00 GMT 2020
https://gcc.gnu.org/g:dfb5c204a76ab7154b3f9b998f3a3e662960f64d
commit dfb5c204a76ab7154b3f9b998f3a3e662960f64d
Author: Edward Smith-Rowland <3dw4rd@verizon.net>
Date: Tue Jun 11 16:36:21 2019 +0000
Fix ConstexprIterator requirements tests - No constexpr algorithms!
2019-06-11 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: r272160
Diff:
---
libstdc++-v3/ChangeLog | 16 ++++++++++++++++
.../basic_string_view/requirements/constexpr_iter.cc | 7 +++++++
.../23_containers/array/requirements/constexpr_iter.cc | 7 +++++++
3 files changed, 30 insertions(+)
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8d3a5c5..9caebc4 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,19 @@
+2019-06-11 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-09 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ Test for C++20 p0858 - ConstexprIterator requirements.
+ * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
+ New test.
+ * testsuite/23_containers/array/requirements/constexpr_iter.cc:
+ New test.
+
2019-06-05 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
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 9b179e2..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
@@ -29,6 +29,13 @@ test()
auto ch = hw[4];
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}};
+ 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 559153f..208078c 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc
@@ -28,6 +28,13 @@ test()
auto n = a1[0] * a1[1]* a1[2];
static_assert(1 == *a1.cbegin());
+ std::array<int, 3> a2{{0, 0, 0}};
+ auto a1i = a1.begin();
+ auto a1e = a1.end();
+ auto a2i = a2.begin();
+ while (a1i != a1e)
+ *a2i++ = *a1i++;
+
return n;
}
More information about the Libstdc++-cvs
mailing list