[gcc r13-4242] libstdc++: Add testcase for fs::path constraint recursion [PR106201]

Jonathan Wakely redi@gcc.gnu.org
Tue Nov 22 17:54:39 GMT 2022


https://gcc.gnu.org/g:6b859736bb1e707778627b2e58ef6088e475a54c

commit r13-4242-g6b859736bb1e707778627b2e58ef6088e475a54c
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Nov 22 12:17:27 2022 +0000

    libstdc++: Add testcase for fs::path constraint recursion [PR106201]
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/106201
            * testsuite/27_io/filesystem/iterators/106201.cc: New test.

Diff:
---
 libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc | 12 ++++++++++++
 1 file changed, 12 insertions(+)

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 00000000000..4a64e675816
--- /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> );


More information about the Libstdc++-cvs mailing list