https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83626
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Fri Jan 5 21:27:25 2018 New Revision: 256287 URL: https://gcc.gnu.org/viewcvs?rev=256287&root=gcc&view=rev Log: PR libstdc++/83626 Don't report errors when removing non-existent files Backport from mainline 2018-01-05 Jonathan Wakely <jwak...@redhat.com> PR libstdc++/83626 * src/filesystem/ops.cc (remove(const path&, error_code&)): Do not report an error for ENOENT. (remove_all(const path&)): Fix type of result variable. (remove_all(const path&, error_code&)): Use non-throwing increment for directory iterator. Call POSIX remove directly to avoid redundant calls to symlink_status. Do not report errors for ENOENT. * testsuite/experimental/filesystem/operations/remove_all.cc: Test throwing overload. Backport from mainline 2018-01-04 Jonathan Wakely <jwak...@redhat.com> PR libstdc++/83626 * src/filesystem/ops.cc (remove(const path&, error_code&))): Remove redundant call to ec.clear(). (remove_all(const path&, error_code&))): Do not return an error for non-existent paths. * testsuite/experimental/filesystem/operations/remove.cc: New test. * testsuite/experimental/filesystem/operations/remove_all.cc: Fix expected results for non-existent paths. Added: branches/gcc-7-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/remove.cc - copied, changed from r256286, branches/gcc-7-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc Modified: branches/gcc-7-branch/libstdc++-v3/ChangeLog branches/gcc-7-branch/libstdc++-v3/src/filesystem/ops.cc branches/gcc-7-branch/libstdc++-v3/testsuite/experimental/filesystem/operations/remove_all.cc