diff options
author | Ville Voutilainen <ville.voutilainen@gmail.com> | 2016-07-04 15:52:49 +0300 |
---|---|---|
committer | Ville Voutilainen <ville@gcc.gnu.org> | 2016-07-04 15:52:49 +0300 |
commit | e12880f96fa42ce889c08d51876cf782afe11aa4 (patch) | |
tree | 38bed5547602f37fd3a38f274d966a8ef1d304dc /libstdc++-v3/src | |
parent | cbe91164ce7fd929b56327e72d8e7154f01ef2ec (diff) | |
download | gcc-e12880f96fa42ce889c08d51876cf782afe11aa4.zip gcc-e12880f96fa42ce889c08d51876cf782afe11aa4.tar.gz gcc-e12880f96fa42ce889c08d51876cf782afe11aa4.tar.bz2 |
re PR libstdc++/71313 ([Filesystem TS] remove_all fails to remove directory contents recursively)
PR libstdc++/71313
* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
Call remove_all for children of a directory.
* testsuite/experimental/filesystem/operations/create_directories.cc:
Adjust.
From-SVN: r237978
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r-- | libstdc++-v3/src/filesystem/ops.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc index 67ed8e6..9fb5b639 100644 --- a/libstdc++-v3/src/filesystem/ops.cc +++ b/libstdc++-v3/src/filesystem/ops.cc @@ -1194,7 +1194,7 @@ fs::remove_all(const path& p, error_code& ec) noexcept uintmax_t count = 0; if (ec.value() == 0 && fs.type() == file_type::directory) for (directory_iterator d(p, ec), end; ec.value() == 0 && d != end; ++d) - count += fs::remove(d->path(), ec); + count += fs::remove_all(d->path(), ec); if (ec.value()) return -1; return fs::remove(p, ec) ? ++count : -1; // fs:remove() calls ec.clear() |