aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-11-22 12:17:27 +0000
committerJonathan Wakely <jwakely@redhat.com>2022-11-22 17:43:58 +0000
commit6b859736bb1e707778627b2e58ef6088e475a54c (patch)
tree73413e7bae7bec070b95877061768fdc97a3ea14
parent95489a2a279893bf2e0fbb3fb378bdfcf0212faf (diff)
downloadgcc-6b859736bb1e707778627b2e58ef6088e475a54c.zip
gcc-6b859736bb1e707778627b2e58ef6088e475a54c.tar.gz
gcc-6b859736bb1e707778627b2e58ef6088e475a54c.tar.bz2
libstdc++: Add testcase for fs::path constraint recursion [PR106201]
libstdc++-v3/ChangeLog: PR libstdc++/106201 * testsuite/27_io/filesystem/iterators/106201.cc: New test.
-rw-r--r--libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc b/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc
new file mode 100644
index 0000000..4a64e67
--- /dev/null
+++ b/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc
@@ -0,0 +1,12 @@
+// { dg-options "-std=gnu++20" }
+// { dg-do compile { target c++20 } }
+// { dg-require-filesystem-ts "" }
+
+// PR libstdc++/106201 constraint recursion in path(Source const&) constructor.
+
+#include <filesystem>
+#include <ranges>
+using I = std::counted_iterator<std::filesystem::directory_iterator>;
+static_assert( std::swappable<I> );
+using R = std::counted_iterator<std::filesystem::recursive_directory_iterator>;
+static_assert( std::swappable<R> );