Implement LWG 2712 and update other issues status

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@284318 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2016-10-16 00:47:59 +00:00
parent 451f34db16
commit 1e1bbc7437
3 changed files with 38 additions and 8 deletions

View File

@@ -282,6 +282,10 @@ bool __copy_file(const path& from, const path& to, copy_options options,
}
const bool to_exists = exists(to_st);
if (to_exists && !is_regular_file(to_st)) {
set_or_throw(make_error_code(errc::not_supported), ec, "copy_file", from, to);
return false;
}
if (to_exists && bool(copy_options::skip_existing & options)) {
return false;
}
@@ -302,6 +306,8 @@ bool __copy_file(const path& from, const path& to, copy_options options,
set_or_throw(make_error_code(errc::file_exists), ec, "copy", from, to);
return false;
}
_LIBCPP_UNREACHABLE();
}
void __copy_symlink(const path& existing_symlink, const path& new_symlink,