These tests were fixed by a front-end change r13-465-g4df735e01e3199 so
this just adds them to the testsuite to be sure we don't regress.

libstdc++-v3/ChangeLog:

        PR libstdc++/101527
        * testsuite/24_iterators/common_iterator/101527.cc: New test.
        * testsuite/24_iterators/counted_iterator/101527.cc: New test.
---

Tested x86_64-linux. Pushed to trunk.

 .../24_iterators/common_iterator/101527.cc         | 14 ++++++++++++++
 .../24_iterators/counted_iterator/101527.cc        | 14 ++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 
libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
 create mode 100644 
libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc

diff --git a/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc 
b/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
new file mode 100644
index 00000000000..0a2a5e8dfcc
--- /dev/null
+++ b/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
@@ -0,0 +1,14 @@
+// { dg-do compile { target c++20 } }
+
+// PR libstdc++/101527
+// implementation of std::common_iterator and std::counted_iterator's
+// operator== seems to be wrong
+
+#include <iterator>
+
+bool test_pr101527()
+{
+  std::common_iterator<int*, std::unreachable_sentinel_t> it1;
+  std::common_iterator<const int*, std::unreachable_sentinel_t> it2;
+  return it1 == it2;
+}
diff --git a/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc 
b/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc
new file mode 100644
index 00000000000..51c6e99cd77
--- /dev/null
+++ b/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc
@@ -0,0 +1,14 @@
+// { dg-do compile { target c++20 } }
+
+// PR libstdc++/101527
+// implementation of std::common_iterator and std::counted_iterator's
+// operator== seems to be wrong
+
+#include <iterator>
+
+bool test_pr101527()
+{
+  std::counted_iterator<int*> it1;
+  std::counted_iterator<const int*> it2;
+  return it1 == it2;
+}
-- 
2.49.0

Reply via email to