This was fixed last year by
r15-2409-g017e3f89b081e4 (and backports), so
just add the testcase.
libstdc++-v3/ChangeLog:
PR libstdc++/118699
* testsuite/27_io/filesystem/operations/copy.cc: Check copying a
file to a directory.
remove_all(dir);
}
+void
+test_pr118699()
+{
+ auto dir = __gnu_test::nonexistent_path();
+ fs::create_directories(dir/"a");
+ fs::create_directories(dir/"c");
+ std::ofstream{dir/"a/b.txt"} << "b";
+ std::ofstream{dir/"a/bb.txt"} << "bb";
+
+ fs::copy(dir/"a/b.txt", dir/"c");
+ auto ec = make_error_code(std::errc::invalid_argument);
+ fs::copy(dir/"a/bb.txt", dir/"c", ec);
+ VERIFY( !ec );
+
+ remove_all(dir);
+}
+
int
main()
{
test04();
test05();
test_pr99290();
+ test_pr118699();
}