libstdc++: Remove un-implementable noexcept from Filesystem TS operations

LWG 3014 removed these incorrect noexcept specifications from the C++17
std::filesystem operations. They are also incorrect on the experimental
TS versions and should be removed from them too.

libstdc++-v3/ChangeLog:

	* include/experimental/bits/fs_ops.h (fs::copy_file): Remove
	noexcept.
	(fs::create_directories): Likewise.
	(fs::remove_all): Likewise.
	* src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
	(fs::create_directories): Likewise.
	(fs::remove_all): Likewise.
This commit is contained in:
Jonathan Wakely 2022-02-04 15:23:31 +00:00
parent ebf6175464
commit da72e0fd20
2 changed files with 7 additions and 7 deletions

View File

@ -74,19 +74,19 @@ inline namespace v1
{ return copy_file(__from, __to, copy_options::none); }
inline bool
copy_file(const path& __from, const path& __to, error_code& __ec) noexcept
copy_file(const path& __from, const path& __to, error_code& __ec)
{ return copy_file(__from, __to, copy_options::none, __ec); }
bool copy_file(const path& __from, const path& __to, copy_options __option);
bool copy_file(const path& __from, const path& __to, copy_options __option,
error_code& __ec) noexcept;
error_code& __ec);
void copy_symlink(const path& __existing_symlink, const path& __new_symlink);
void copy_symlink(const path& __existing_symlink, const path& __new_symlink,
error_code& __ec) noexcept;
bool create_directories(const path& __p);
bool create_directories(const path& __p, error_code& __ec) noexcept;
bool create_directories(const path& __p, error_code& __ec);
bool create_directory(const path& __p);
bool create_directory(const path& __p, error_code& __ec) noexcept;
@ -262,7 +262,7 @@ inline namespace v1
bool remove(const path& __p, error_code& __ec) noexcept;
uintmax_t remove_all(const path& __p);
uintmax_t remove_all(const path& __p, error_code& __ec) noexcept;
uintmax_t remove_all(const path& __p, error_code& __ec);
void rename(const path& __from, const path& __to);
void rename(const path& __from, const path& __to, error_code& __ec) noexcept;

View File

@ -372,7 +372,7 @@ fs::copy_file(const path& from, const path& to, copy_options option)
bool
fs::copy_file(const path& from, const path& to, copy_options options,
error_code& ec) noexcept
error_code& ec)
{
#ifdef _GLIBCXX_HAVE_SYS_STAT_H
return do_copy_file(from.c_str(), to.c_str(), copy_file_options(options),
@ -424,7 +424,7 @@ fs::create_directories(const path& p)
}
bool
fs::create_directories(const path& p, error_code& ec) noexcept
fs::create_directories(const path& p, error_code& ec)
{
if (p.empty())
{
@ -1098,7 +1098,7 @@ fs::remove_all(const path& p)
}
std::uintmax_t
fs::remove_all(const path& p, error_code& ec) noexcept
fs::remove_all(const path& p, error_code& ec)
{
// Use the C++17 implementation.
return std::filesystem::remove_all(p.native(), ec);