https://gcc.gnu.org/g:da6cea6625be011eeda958b096cf35573d2ab7bb
commit r14-11488-gda6cea6625be011eeda958b096cf35573d2ab7bb Author: Jonathan Wakely <jwak...@redhat.com> Date: Mon Mar 24 21:36:16 2025 +0000 libstdc++: Add testcases for resolved bug [PR101527] 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. (cherry picked from commit f7c0b0fc4fdeaf034dc38356830625f7280d325d) Diff: --- .../testsuite/24_iterators/common_iterator/101527.cc | 14 ++++++++++++++ .../testsuite/24_iterators/counted_iterator/101527.cc | 14 ++++++++++++++ 2 files changed, 28 insertions(+) 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 000000000000..0a2a5e8dfcca --- /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 000000000000..51c6e99cd77c --- /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; +}