[gcc r13-4292] libstdc++: Update tests on trunk [PR106201]

Jonathan Wakely redi@gcc.gnu.org
Fri Nov 25 00:21:20 GMT 2022


https://gcc.gnu.org/g:3892251498c16c9507cf8471f4f10676212e9ead

commit r13-4292-g3892251498c16c9507cf8471f4f10676212e9ead
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Nov 22 21:51:06 2022 +0000

    libstdc++: Update tests on trunk [PR106201]
    
    This copies the better tests from gcc-12 to trunk.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/106201
            * testsuite/27_io/filesystem/iterators/106201.cc: Improve test.
            * testsuite/experimental/filesystem/iterators/106201.cc: New test.

Diff:
---
 .../testsuite/27_io/filesystem/iterators/106201.cc         |  8 +++++---
 .../testsuite/experimental/filesystem/iterators/106201.cc  | 14 ++++++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc b/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc
index 4a64e675816..c5fefd9ac3f 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/iterators/106201.cc
@@ -5,8 +5,10 @@
 // PR libstdc++/106201 constraint recursion in path(Source const&) constructor.
 
 #include <filesystem>
-#include <ranges>
-using I = std::counted_iterator<std::filesystem::directory_iterator>;
+#include <iterator>
+#include <concepts>
+namespace fs = std::filesystem;
+using I = std::counted_iterator<fs::directory_iterator>;
 static_assert( std::swappable<I> );
-using R = std::counted_iterator<std::filesystem::recursive_directory_iterator>;
+using R = std::counted_iterator<fs::recursive_directory_iterator>;
 static_assert( std::swappable<R> );
diff --git a/libstdc++-v3/testsuite/experimental/filesystem/iterators/106201.cc b/libstdc++-v3/testsuite/experimental/filesystem/iterators/106201.cc
new file mode 100644
index 00000000000..017b72ef5f6
--- /dev/null
+++ b/libstdc++-v3/testsuite/experimental/filesystem/iterators/106201.cc
@@ -0,0 +1,14 @@
+// { 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 <experimental/filesystem>
+#include <iterator>
+#include <concepts>
+namespace fs = std::experimental::filesystem;
+using I = std::counted_iterator<fs::directory_iterator>;
+static_assert( std::swappable<I> );
+using R = std::counted_iterator<fs::recursive_directory_iterator>;
+static_assert( std::swappable<R> );


More information about the Libstdc++-cvs mailing list