diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-07-01 11:40:29 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-07-01 11:50:18 +0100 |
commit | f7a148304a71f3d3ad6845b7966fdc3af88c9e45 (patch) | |
tree | 169d21fb9e406517c960e42f57c529a5e56589f3 | |
parent | 7780dc5b2d02785186583fc8eced3c9e3aec4552 (diff) | |
download | gcc-f7a148304a71f3d3ad6845b7966fdc3af88c9e45.zip gcc-f7a148304a71f3d3ad6845b7966fdc3af88c9e45.tar.gz gcc-f7a148304a71f3d3ad6845b7966fdc3af88c9e45.tar.bz2 |
libstdc++: Add nodiscard attribute to filesystem operations
Some of these are not truly "pure" because they access the file system,
e.g. exists and file_size, but they do not modify anything and are only
useful for the return value.
If you really want to use one of those functions just to check whether
an error is reported (either via an exception or an error_code&
argument) you can still do so, but you need to cast the discarded result
to void. Several tests need such a change, because they were indeed
only calling the functions to check for expected errors.
libstdc++-v3/ChangeLog:
* include/bits/fs_ops.h: Add nodiscard to all pure functions.
* include/experimental/bits/fs_ops.h: Likewise.
* testsuite/27_io/filesystem/operations/all.cc: Do not discard
results of absolute and canonical.
* testsuite/27_io/filesystem/operations/absolute.cc: Cast
discarded result to void.
* testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
* testsuite/27_io/filesystem/operations/exists.cc: Likewise.
* testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
* testsuite/27_io/filesystem/operations/read_symlink.cc:
Likewise.
* testsuite/27_io/filesystem/operations/status.cc: Likewise.
* testsuite/27_io/filesystem/operations/symlink_status.cc:
Likewise.
* testsuite/27_io/filesystem/operations/temp_directory_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/canonical.cc:
Likewise.
* testsuite/experimental/filesystem/operations/exists.cc:
Likewise.
* testsuite/experimental/filesystem/operations/is_empty.cc:
Likewise.
* testsuite/experimental/filesystem/operations/read_symlink.cc:
Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
16 files changed, 174 insertions, 24 deletions
diff --git a/libstdc++-v3/include/bits/fs_ops.h b/libstdc++-v3/include/bits/fs_ops.h index 0281c65..1ae8fe1 100644 --- a/libstdc++-v3/include/bits/fs_ops.h +++ b/libstdc++-v3/include/bits/fs_ops.h @@ -44,10 +44,16 @@ namespace filesystem * @{ */ + [[nodiscard]] path absolute(const path& __p); + + [[nodiscard]] path absolute(const path& __p, error_code& __ec); + [[nodiscard]] path canonical(const path& __p); + + [[nodiscard]] path canonical(const path& __p, error_code& __ec); inline void @@ -100,25 +106,34 @@ namespace filesystem void create_symlink(const path& __to, const path& __new_symlink, error_code& __ec) noexcept; + [[nodiscard]] path current_path(); + + [[nodiscard]] path current_path(error_code& __ec); + void current_path(const path& __p); void current_path(const path& __p, error_code& __ec) noexcept; + [[nodiscard]] bool equivalent(const path& __p1, const path& __p2); + [[nodiscard]] bool equivalent(const path& __p1, const path& __p2, error_code& __ec) noexcept; + [[nodiscard]] inline bool exists(file_status __s) noexcept { return status_known(__s) && __s.type() != file_type::not_found; } + [[nodiscard]] inline bool exists(const path& __p) { return exists(status(__p)); } + [[nodiscard]] inline bool exists(const path& __p, error_code& __ec) noexcept { @@ -131,63 +146,85 @@ namespace filesystem return false; } + [[nodiscard]] uintmax_t file_size(const path& __p); + + [[nodiscard]] uintmax_t file_size(const path& __p, error_code& __ec) noexcept; + [[nodiscard]] uintmax_t hard_link_count(const path& __p); + + [[nodiscard]] uintmax_t hard_link_count(const path& __p, error_code& __ec) noexcept; + [[nodiscard]] inline bool is_block_file(file_status __s) noexcept { return __s.type() == file_type::block; } + [[nodiscard]] inline bool is_block_file(const path& __p) { return is_block_file(status(__p)); } + [[nodiscard]] inline bool is_block_file(const path& __p, error_code& __ec) noexcept { return is_block_file(status(__p, __ec)); } + [[nodiscard]] inline bool is_character_file(file_status __s) noexcept { return __s.type() == file_type::character; } + [[nodiscard]] inline bool is_character_file(const path& __p) { return is_character_file(status(__p)); } + [[nodiscard]] inline bool is_character_file(const path& __p, error_code& __ec) noexcept { return is_character_file(status(__p, __ec)); } + [[nodiscard]] inline bool is_directory(file_status __s) noexcept { return __s.type() == file_type::directory; } + [[nodiscard]] inline bool is_directory(const path& __p) { return is_directory(status(__p)); } + [[nodiscard]] inline bool is_directory(const path& __p, error_code& __ec) noexcept { return is_directory(status(__p, __ec)); } + [[nodiscard]] bool is_empty(const path& __p); + + [[nodiscard]] bool is_empty(const path& __p, error_code& __ec); + [[nodiscard]] inline bool is_fifo(file_status __s) noexcept { return __s.type() == file_type::fifo; } + [[nodiscard]] inline bool is_fifo(const path& __p) { return is_fifo(status(__p)); } + [[nodiscard]] inline bool is_fifo(const path& __p, error_code& __ec) noexcept { return is_fifo(status(__p, __ec)); } + [[nodiscard]] inline bool is_other(file_status __s) noexcept { @@ -195,52 +232,67 @@ namespace filesystem && !is_symlink(__s); } + [[nodiscard]] inline bool is_other(const path& __p) { return is_other(status(__p)); } + [[nodiscard]] inline bool is_other(const path& __p, error_code& __ec) noexcept { return is_other(status(__p, __ec)); } + [[nodiscard]] inline bool is_regular_file(file_status __s) noexcept { return __s.type() == file_type::regular; } + [[nodiscard]] inline bool is_regular_file(const path& __p) { return is_regular_file(status(__p)); } + [[nodiscard]] inline bool is_regular_file(const path& __p, error_code& __ec) noexcept { return is_regular_file(status(__p, __ec)); } + [[nodiscard]] inline bool is_socket(file_status __s) noexcept { return __s.type() == file_type::socket; } + [[nodiscard]] inline bool is_socket(const path& __p) { return is_socket(status(__p)); } + [[nodiscard]] inline bool is_socket(const path& __p, error_code& __ec) noexcept { return is_socket(status(__p, __ec)); } + [[nodiscard]] inline bool is_symlink(file_status __s) noexcept { return __s.type() == file_type::symlink; } + [[nodiscard]] inline bool is_symlink(const path& __p) { return is_symlink(symlink_status(__p)); } + [[nodiscard]] inline bool is_symlink(const path& __p, error_code& __ec) noexcept { return is_symlink(symlink_status(__p, __ec)); } + [[nodiscard]] file_time_type last_write_time(const path& __p); + + [[nodiscard]] file_time_type last_write_time(const path& __p, error_code& __ec) noexcept; + void last_write_time(const path& __p, file_time_type __new_time); void last_write_time(const path& __p, file_time_type __new_time, error_code& __ec) noexcept; @@ -257,19 +309,30 @@ namespace filesystem permissions(const path& __p, perms __prms, perm_options __opts, error_code& __ec) noexcept; + [[nodiscard]] inline path proximate(const path& __p, error_code& __ec) { return proximate(__p, current_path(), __ec); } + [[nodiscard]] path proximate(const path& __p, const path& __base = current_path()); + + [[nodiscard]] path proximate(const path& __p, const path& __base, error_code& __ec); + [[nodiscard]] path read_symlink(const path& __p); + + [[nodiscard]] path read_symlink(const path& __p, error_code& __ec); + [[nodiscard]] inline path relative(const path& __p, error_code& __ec) { return relative(__p, current_path(), __ec); } + [[nodiscard]] path relative(const path& __p, const path& __base = current_path()); + + [[nodiscard]] path relative(const path& __p, const path& __base, error_code& __ec); bool remove(const path& __p); @@ -284,22 +347,38 @@ namespace filesystem void resize_file(const path& __p, uintmax_t __size); void resize_file(const path& __p, uintmax_t __size, error_code& __ec) noexcept; + [[nodiscard]] space_info space(const path& __p); + + [[nodiscard]] space_info space(const path& __p, error_code& __ec) noexcept; + [[nodiscard]] file_status status(const path& __p); + + [[nodiscard]] file_status status(const path& __p, error_code& __ec) noexcept; + [[nodiscard]] inline bool status_known(file_status __s) noexcept { return __s.type() != file_type::none; } + [[nodiscard]] file_status symlink_status(const path& __p); + + [[nodiscard]] file_status symlink_status(const path& __p, error_code& __ec) noexcept; + [[nodiscard]] path temp_directory_path(); + + [[nodiscard]] path temp_directory_path(error_code& __ec); + [[nodiscard]] path weakly_canonical(const path& __p); + + [[nodiscard]] path weakly_canonical(const path& __p, error_code& __ec); /// @} group filesystem diff --git a/libstdc++-v3/include/experimental/bits/fs_ops.h b/libstdc++-v3/include/experimental/bits/fs_ops.h index 773f27c..e37dc9a 100644 --- a/libstdc++-v3/include/experimental/bits/fs_ops.h +++ b/libstdc++-v3/include/experimental/bits/fs_ops.h @@ -51,10 +51,16 @@ inline namespace v1 * @{ */ + [[__nodiscard__]] path absolute(const path& __p, const path& __base = current_path()); + [[__nodiscard__]] path canonical(const path& __p, const path& __base = current_path()); + + [[__nodiscard__]] path canonical(const path& __p, error_code& __ec); + + [[__nodiscard__]] path canonical(const path& __p, const path& __base, error_code& __ec); inline void @@ -66,6 +72,7 @@ inline namespace v1 { copy(__from, __to, copy_options::none, __ec); } void copy(const path& __from, const path& __to, copy_options __options); + void copy(const path& __from, const path& __to, copy_options __options, error_code& __ec) noexcept; @@ -107,25 +114,34 @@ inline namespace v1 void create_symlink(const path& __to, const path& __new_symlink, error_code& __ec) noexcept; + [[__nodiscard__]] path current_path(); + + [[__nodiscard__]] path current_path(error_code& __ec); + void current_path(const path& __p); void current_path(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] bool equivalent(const path& __p1, const path& __p2); + [[__nodiscard__]] bool equivalent(const path& __p1, const path& __p2, error_code& __ec) noexcept; + [[__nodiscard__]] inline bool exists(file_status __s) noexcept { return status_known(__s) && __s.type() != file_type::not_found; } + [[__nodiscard__]] inline bool exists(const path& __p) { return exists(status(__p)); } + [[__nodiscard__]] inline bool exists(const path& __p, error_code& __ec) noexcept { @@ -138,63 +154,84 @@ inline namespace v1 return false; } + [[__nodiscard__]] uintmax_t file_size(const path& __p); + + [[__nodiscard__]] uintmax_t file_size(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] uintmax_t hard_link_count(const path& __p); + + [[__nodiscard__]] uintmax_t hard_link_count(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] inline bool is_block_file(file_status __s) noexcept { return __s.type() == file_type::block; } + [[__nodiscard__]] inline bool is_block_file(const path& __p) { return is_block_file(status(__p)); } + [[__nodiscard__]] inline bool is_block_file(const path& __p, error_code& __ec) noexcept { return is_block_file(status(__p, __ec)); } + [[__nodiscard__]] inline bool is_character_file(file_status __s) noexcept { return __s.type() == file_type::character; } + [[__nodiscard__]] inline bool is_character_file(const path& __p) { return is_character_file(status(__p)); } + [[__nodiscard__]] inline bool is_character_file(const path& __p, error_code& __ec) noexcept { return is_character_file(status(__p, __ec)); } + [[__nodiscard__]] inline bool is_directory(file_status __s) noexcept { return __s.type() == file_type::directory; } + [[__nodiscard__]] inline bool is_directory(const path& __p) { return is_directory(status(__p)); } + [[__nodiscard__]] inline bool is_directory(const path& __p, error_code& __ec) noexcept { return is_directory(status(__p, __ec)); } + [[__nodiscard__]] bool is_empty(const path& __p); + [[__nodiscard__]] bool is_empty(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] inline bool is_fifo(file_status __s) noexcept { return __s.type() == file_type::fifo; } + [[__nodiscard__]] inline bool is_fifo(const path& __p) { return is_fifo(status(__p)); } + [[__nodiscard__]] inline bool is_fifo(const path& __p, error_code& __ec) noexcept { return is_fifo(status(__p, __ec)); } + [[__nodiscard__]] inline bool is_other(file_status __s) noexcept { @@ -202,52 +239,67 @@ inline namespace v1 && !is_symlink(__s); } + [[__nodiscard__]] inline bool is_other(const path& __p) { return is_other(status(__p)); } + [[__nodiscard__]] inline bool is_other(const path& __p, error_code& __ec) noexcept { return is_other(status(__p, __ec)); } + [[__nodiscard__]] inline bool is_regular_file(file_status __s) noexcept { return __s.type() == file_type::regular; } + [[__nodiscard__]] inline bool is_regular_file(const path& __p) { return is_regular_file(status(__p)); } + [[__nodiscard__]] inline bool is_regular_file(const path& __p, error_code& __ec) noexcept { return is_regular_file(status(__p, __ec)); } + [[__nodiscard__]] inline bool is_socket(file_status __s) noexcept { return __s.type() == file_type::socket; } + [[__nodiscard__]] inline bool is_socket(const path& __p) { return is_socket(status(__p)); } + [[__nodiscard__]] inline bool is_socket(const path& __p, error_code& __ec) noexcept { return is_socket(status(__p, __ec)); } + [[__nodiscard__]] inline bool is_symlink(file_status __s) noexcept { return __s.type() == file_type::symlink; } + [[__nodiscard__]] inline bool is_symlink(const path& __p) { return is_symlink(symlink_status(__p)); } + [[__nodiscard__]] inline bool is_symlink(const path& __p, error_code& __ec) noexcept { return is_symlink(symlink_status(__p, __ec)); } + [[__nodiscard__]] file_time_type last_write_time(const path& __p); + + [[__nodiscard__]] file_time_type last_write_time(const path& __p, error_code& __ec) noexcept; + void last_write_time(const path& __p, file_time_type __new_time); void last_write_time(const path& __p, file_time_type __new_time, error_code& __ec) noexcept; @@ -255,7 +307,10 @@ inline namespace v1 void permissions(const path& __p, perms __prms); void permissions(const path& __p, perms __prms, error_code& __ec) noexcept; + [[__nodiscard__]] path read_symlink(const path& __p); + + [[__nodiscard__]] path read_symlink(const path& __p, error_code& __ec); bool remove(const path& __p); @@ -270,22 +325,38 @@ inline namespace v1 void resize_file(const path& __p, uintmax_t __size); void resize_file(const path& __p, uintmax_t __size, error_code& __ec) noexcept; + [[__nodiscard__]] space_info space(const path& __p); + + [[__nodiscard__]] space_info space(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] file_status status(const path& __p); + + [[__nodiscard__]] file_status status(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] inline bool status_known(file_status __s) noexcept { return __s.type() != file_type::none; } + [[__nodiscard__]] file_status symlink_status(const path& __p); + + [[__nodiscard__]] file_status symlink_status(const path& __p, error_code& __ec) noexcept; + [[__nodiscard__]] path system_complete(const path& __p); + + [[__nodiscard__]] path system_complete(const path& __p, error_code& __ec); + [[__nodiscard__]] path temp_directory_path(); + + [[__nodiscard__]] path temp_directory_path(error_code& __ec); /// @} group filesystem-ts diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc index 236e1b2..295b755 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc @@ -84,7 +84,7 @@ test03() VERIFY( eabs.empty() ); try { - absolute(path{}); + (void) absolute(path{}); VERIFY( false ); } catch (const std::filesystem::filesystem_error& e) { VERIFY( e.code() == std::errc::invalid_argument ); diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc index d5d6c87..3c8ab78 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/all.cc @@ -42,11 +42,11 @@ main() bool b [[maybe_unused]]; std::uintmax_t size; - std::filesystem::absolute(p); - std::filesystem::absolute(p, ec); + p2 = std::filesystem::absolute(p); + p2 = std::filesystem::absolute(p, ec); - std::filesystem::canonical(p); - std::filesystem::canonical(p, ec); + p2 = std::filesystem::canonical(p); + p2 = std::filesystem::canonical(p, ec); std::filesystem::copy(p, p); std::filesystem::copy(p, p, ec); diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc index 9c432b2..cb916a6 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc @@ -31,7 +31,7 @@ test01() const std::error_code bad_ec = make_error_code(std::errc::invalid_argument); std::error_code ec; auto p = __gnu_test::nonexistent_path(); - canonical( p, ec ); + (void) canonical( p, ec ); VERIFY( ec ); create_directory(p); @@ -90,7 +90,7 @@ test02() #if __cpp_exceptions fs::path e1, e2; try { - canonical(p); + (void) canonical(p); } catch (const fs::filesystem_error& e) { e1 = e.path1(); e2 = e.path2(); diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc index b306356..f995697 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/exists.cc @@ -95,7 +95,7 @@ test04() ec.clear(); try { - exists(unr); + (void) exists(unr); } catch(const std::filesystem::filesystem_error& ex) { diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc index 23246a4..d1dfd9f 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/is_empty.cc @@ -40,7 +40,7 @@ test01() VERIFY( !result ); try { - fs::is_empty(p); + (void) fs::is_empty(p); } catch (const fs::filesystem_error& e) { ec2 = e.code(); } @@ -51,7 +51,7 @@ test01() VERIFY( !result ); try { - fs::is_empty(p/"f"); + (void) fs::is_empty(p/"f"); } catch (const fs::filesystem_error& e) { ec2 = e.code(); } diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc index 030d627..28be8cc 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/read_symlink.cc @@ -31,7 +31,7 @@ test01() auto p = __gnu_test::nonexistent_path(); std::error_code ec; - read_symlink(p, ec); + (void) read_symlink(p, ec); VERIFY( ec ); fs::path tgt = "."; diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc index f2d2582..c43ba29 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/status.cc @@ -74,7 +74,7 @@ test03() std::error_code ec2; fs::path p, p2; try { - fs::symlink_status(f.path); + (void) fs::symlink_status(f.path); } catch (const fs::filesystem_error& e) { caught = true; p = e.path1(); diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc index e00e4aa..c8fa5c0 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc @@ -96,7 +96,7 @@ test03() std::error_code ec2; fs::path p, p2; try { - fs::symlink_status(f.path); + (void) fs::symlink_status(f.path); } catch (const fs::filesystem_error& e) { caught = true; p = e.path1(); diff --git a/libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc b/libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc index 56bd740..09d97c5 100644 --- a/libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc +++ b/libstdc++-v3/testsuite/27_io/filesystem/operations/temp_directory_path.cc @@ -117,7 +117,7 @@ test03() std::error_code ec2; try { - fs::temp_directory_path(); + (void) fs::temp_directory_path(); } catch (const fs::filesystem_error& e) { ec2 = e.code(); } @@ -142,7 +142,7 @@ test04() std::error_code ec2; std::string failed_path; try { - fs::temp_directory_path(); + (void) fs::temp_directory_path(); } catch (const fs::filesystem_error& e) { ec2 = e.code(); // On Windows the returned path will be in preferred form, i.e. using L'\\' diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc index aef6725..92772db 100644 --- a/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc +++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/canonical.cc @@ -30,11 +30,11 @@ test01() { std::error_code ec; auto p = __gnu_test::nonexistent_path(); - canonical( p, ec ); + (void) canonical( p, ec ); VERIFY( ec ); p = fs::current_path(); - canonical( p, ec ); + (void) canonical( p, ec ); VERIFY( !ec ); const auto root = fs::absolute("/"); @@ -67,7 +67,7 @@ test02() fs::path p = "rel", base = __gnu_test::nonexistent_path(); fs::path e1, e2; try { - canonical(p, base); + (void) canonical(p, base); } catch (const fs::filesystem_error& e) { e1 = e.path1(); e2 = e.path2(); diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc index 5c274d0..271aff9 100644 --- a/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc +++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/exists.cc @@ -89,7 +89,7 @@ test04() ec.clear(); try { - exists(unr); + (void) exists(unr); } catch(const std::experimental::filesystem::filesystem_error& ex) { diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc index 7472363..da21c8d 100644 --- a/libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc +++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/is_empty.cc @@ -41,7 +41,7 @@ test01() VERIFY( !result ); try { - fs::is_empty(p); + (void) fs::is_empty(p); } catch (const fs::filesystem_error& e) { ec2 = e.code(); } @@ -52,7 +52,7 @@ test01() VERIFY( !result ); try { - fs::is_empty(p/"f"); + (void) fs::is_empty(p/"f"); } catch (const fs::filesystem_error& e) { ec2 = e.code(); } diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc index d0a90976..a29ceeb 100644 --- a/libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc +++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/read_symlink.cc @@ -32,7 +32,7 @@ test01() auto p = __gnu_test::nonexistent_path(); std::error_code ec; - read_symlink(p, ec); + (void) read_symlink(p, ec); VERIFY( ec ); fs::path tgt = "."; diff --git a/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc b/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc index 1772f97..d985f11 100644 --- a/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc +++ b/libstdc++-v3/testsuite/experimental/filesystem/operations/temp_directory_path.cc @@ -118,7 +118,7 @@ test03() std::error_code ec2; try { - fs::temp_directory_path(); + (void) fs::temp_directory_path(); } catch (const fs::filesystem_error& e) { ec2 = e.code(); } @@ -143,7 +143,7 @@ test04() std::error_code ec2; std::string failed_path; try { - fs::temp_directory_path(); + (void) fs::temp_directory_path(); } catch (const fs::filesystem_error& e) { ec2 = e.code(); // On Windows the returned path will be in preferred form, i.e. using L'\\' |