ffe2c05539
Implement the proposed semantics from P1164R0, which reverts the changes of LWG 2935. This means that failure to create a directory because a non-directory already exists with that name will be reported as an error. While rewriting the function, also fix PR 87846, which is a result of the C++17 changes to how a trailing slash on a path affects the last component of a path. PR libstdc++/86910 PR libstdc++/87846 * src/filesystem/ops.cc (experimental::create_directories): Report an error when the path resolves to an existing non-directory (P1164). * src/filesystem/std-ops.cc (create_directories): Likewise. Handle empty filenames due to trailing slashes. * testsuite/27_io/filesystem/operations/create_directories.cc: Test when some component of the path exists and is not a directory. Test trailing slashes. * testsuite/experimental/filesystem/operations/create_directories.cc: Likewise. From-SVN: r266598 |
||
---|---|---|
.. | ||
algorithm | ||
any | ||
array | ||
chrono | ||
deque | ||
filesystem | ||
forward_list | ||
functional | ||
iterator | ||
list | ||
map | ||
memory | ||
memory_resource | ||
net | ||
numeric | ||
optional | ||
polymorphic_allocator | ||
propagate_const | ||
random | ||
ratio | ||
set | ||
source_location | ||
string | ||
string_view | ||
system_error | ||
tuple | ||
type_erased_allocator | ||
type_traits | ||
unordered_map | ||
unordered_set | ||
vector | ||
feat-cxx14.cc | ||
feat-lib-fund.cc |