r256287 - in /branches/gcc-7-branch/libstdc++-v...

redi@gcc.gnu.org redi@gcc.gnu.org
Fri Jan 5 21:27:00 GMT 2018


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  <jwakely@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  <jwakely@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



More information about the Libstdc++-cvs mailing list