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