libstdc++: Add [[nodiscard]] to iostream members
commit240285eb307d289d56977f5300bcf0a1253af854
authorJonathan Wakely <jwakely@redhat.com>
Thu, 26 Sep 2024 11:14:54 +0000 (26 12:14 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 26 Sep 2024 20:32:01 +0000 (26 21:32 +0100)
tree9b6e0c047ee9354e33389b727d6f1821d45e3901
parent9ec258bf65e6ae856491f607a987fe15b5385866
libstdc++: Add [[nodiscard]] to iostream members

These are all pure functions and MSVC also marks all of these as
nodiscard except for std::basic_ios::tie() const, but that's been
confirmed as an accidental omission.

libstdc++-v3/ChangeLog:

* include/bits/basic_ios.h (basic_ios::operator bool()):
Add [[nodiscard]] attribute.
(basic_ios::operator!(), basic_ios::rdstate())
(basic_ios::good(), basic_ios::eof(), basic_ios::fail())
(basic_ios::bad(), basic_ios::exceptions(), basic_ios::tie())
(basic_ios::rdbuf(), basic_ios::fill()): Likewise.
* include/bits/ios_base.h (ios_base::flags()): Likewise.
(ios_base::precision(), ios_base::width(), ios_base::getloc()):
Likewise.
* include/std/fstream (basic_filebuf::is_open)
(basic_ifstream::rdbuf(), basic_ifstream::is_open)
(basic_ofstream::rdbuf(), basic_ofstream::is_open)
(basic_fstream::rdbuf(), basic_fstream::is_open): Likewise.
* include/std/spanstream (basic_spanbuf::span())
(basic_ispanstream::span(), basic_ispanstream::rdbuf())
(basic_ospanstream::span(), basic_ospanstream::rdbuf())
(basic_spanstream::span(), basic_spanstream::rdbuf()):
Likewise.
* include/std/sstream (basic_stringbuf::str())
(basic_istringstream::rdbuf(), basic_istringstream::str())
(basic_ostringstream::rdbuf(), basic_ostringstream::str())
(basic_stringstream::rdbuf(), basic_stringstream::str()):
Likewise.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
Suppress -Wunused-result warnings.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
Likewise.
libstdc++-v3/include/bits/basic_ios.h
libstdc++-v3/include/bits/ios_base.h
libstdc++-v3/include/std/fstream
libstdc++-v3/include/std/spanstream
libstdc++-v3/include/std/sstream
libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc
libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc