Message ID | 20240620153618.2024734-2-jwakely@redhat.com |
---|---|
State | New |
Headers | show |
Series | [1/3] libstdc++: Add [[deprecated]] to std::wstring_convert and std::wbuffer_convert | expand |
Pushed to trunk now. On Thu, 20 Jun 2024 at 16:38, Jonathan Wakely <jwakely@redhat.com> wrote: > > Tested x86_64-linux. > > -- >8 -- > > libstdc++-v3/ChangeLog: > > * include/backward/backward_warning.h: Adjust comments to > suggest <spanstream> as another alternative to <strstream>. > * include/backward/strstream (strstreambuf, istrstream) > (ostrstream, strstream): Add deprecated attribute. > --- > .../include/backward/backward_warning.h | 12 +++++++---- > libstdc++-v3/include/backward/strstream | 20 +++++++++++++++---- > 2 files changed, 24 insertions(+), 8 deletions(-) > > diff --git a/libstdc++-v3/include/backward/backward_warning.h b/libstdc++-v3/include/backward/backward_warning.h > index 3f3330327d4..834fc5680cc 100644 > --- a/libstdc++-v3/include/backward/backward_warning.h > +++ b/libstdc++-v3/include/backward/backward_warning.h > @@ -40,10 +40,14 @@ > A list of valid replacements is as follows: > > Use: Instead of: > - <sstream>, basic_stringbuf <strstream>, strstreambuf > - <sstream>, basic_istringstream <strstream>, istrstream > - <sstream>, basic_ostringstream <strstream>, ostrstream > - <sstream>, basic_stringstream <strstream>, strstream > + <sstream>, stringbuf > + or <spanstream>, spanbuf <strstream>, strstreambuf > + <sstream>, istringstream > + or <spanstream>, ispanstream <strstream>, istrstream > + <sstream>, ostringstream > + or <spanstream>, ospanstream <strstream>, ostrstream > + <sstream>, stringstream > + or <spanstream>, spanstream <strstream>, strstream > <unordered_set>, unordered_set <ext/hash_set>, hash_set > <unordered_set>, unordered_multiset <ext/hash_set>, hash_multiset > <unordered_map>, unordered_map <ext/hash_map>, hash_map > diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream > index 152e93767f6..5e421143385 100644 > --- a/libstdc++-v3/include/backward/strstream > +++ b/libstdc++-v3/include/backward/strstream > @@ -57,6 +57,12 @@ namespace std _GLIBCXX_VISIBILITY(default) > { > _GLIBCXX_BEGIN_NAMESPACE_VERSION > > +#if __glibcxx_spanstream > +# define _GLIBCXX_STRSTREAM_DEPR(A, B) _GLIBCXX_DEPRECATED_SUGGEST(A "' or '" B) > +#else > +# define _GLIBCXX_STRSTREAM_DEPR(A, B) _GLIBCXX_DEPRECATED_SUGGEST(A) > +#endif > + > // Class strstreambuf, a streambuf class that manages an array of char. > // Note that this class is not a template. > class strstreambuf : public basic_streambuf<char, char_traits<char> > > @@ -151,7 +157,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > bool _M_dynamic : 1; > bool _M_frozen : 1; > bool _M_constant : 1; > - }; > + } _GLIBCXX_STRSTREAM_DEPR("std::stringbuf", "std::spanbuf"); > + > +#pragma GCC diagnostic push > +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" > > // Class istrstream, an istream that manages a strstreambuf. > class istrstream : public basic_istream<char> > @@ -176,7 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > private: > strstreambuf _M_buf; > - }; > + } _GLIBCXX_STRSTREAM_DEPR("std::istringstream", "std::ispanstream"); > > // Class ostrstream > class ostrstream : public basic_ostream<char> > @@ -201,7 +210,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > private: > strstreambuf _M_buf; > - }; > + } _GLIBCXX_STRSTREAM_DEPR("std::ostringstream", "std::ospanstream"); > > // Class strstream > class strstream : public basic_iostream<char> > @@ -231,7 +240,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > private: > strstreambuf _M_buf; > - }; > + } _GLIBCXX_STRSTREAM_DEPR("std::stringstream", "std::spanstream"); > + > +#undef _GLIBCXX_STRSTREAM_DEPR > +#pragma GCC diagnostic pop > > _GLIBCXX_END_NAMESPACE_VERSION > } // namespace > -- > 2.45.2 >
diff --git a/libstdc++-v3/include/backward/backward_warning.h b/libstdc++-v3/include/backward/backward_warning.h index 3f3330327d4..834fc5680cc 100644 --- a/libstdc++-v3/include/backward/backward_warning.h +++ b/libstdc++-v3/include/backward/backward_warning.h @@ -40,10 +40,14 @@ A list of valid replacements is as follows: Use: Instead of: - <sstream>, basic_stringbuf <strstream>, strstreambuf - <sstream>, basic_istringstream <strstream>, istrstream - <sstream>, basic_ostringstream <strstream>, ostrstream - <sstream>, basic_stringstream <strstream>, strstream + <sstream>, stringbuf + or <spanstream>, spanbuf <strstream>, strstreambuf + <sstream>, istringstream + or <spanstream>, ispanstream <strstream>, istrstream + <sstream>, ostringstream + or <spanstream>, ospanstream <strstream>, ostrstream + <sstream>, stringstream + or <spanstream>, spanstream <strstream>, strstream <unordered_set>, unordered_set <ext/hash_set>, hash_set <unordered_set>, unordered_multiset <ext/hash_set>, hash_multiset <unordered_map>, unordered_map <ext/hash_map>, hash_map diff --git a/libstdc++-v3/include/backward/strstream b/libstdc++-v3/include/backward/strstream index 152e93767f6..5e421143385 100644 --- a/libstdc++-v3/include/backward/strstream +++ b/libstdc++-v3/include/backward/strstream @@ -57,6 +57,12 @@ namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __glibcxx_spanstream +# define _GLIBCXX_STRSTREAM_DEPR(A, B) _GLIBCXX_DEPRECATED_SUGGEST(A "' or '" B) +#else +# define _GLIBCXX_STRSTREAM_DEPR(A, B) _GLIBCXX_DEPRECATED_SUGGEST(A) +#endif + // Class strstreambuf, a streambuf class that manages an array of char. // Note that this class is not a template. class strstreambuf : public basic_streambuf<char, char_traits<char> > @@ -151,7 +157,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION bool _M_dynamic : 1; bool _M_frozen : 1; bool _M_constant : 1; - }; + } _GLIBCXX_STRSTREAM_DEPR("std::stringbuf", "std::spanbuf"); + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // Class istrstream, an istream that manages a strstreambuf. class istrstream : public basic_istream<char> @@ -176,7 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION private: strstreambuf _M_buf; - }; + } _GLIBCXX_STRSTREAM_DEPR("std::istringstream", "std::ispanstream"); // Class ostrstream class ostrstream : public basic_ostream<char> @@ -201,7 +210,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION private: strstreambuf _M_buf; - }; + } _GLIBCXX_STRSTREAM_DEPR("std::ostringstream", "std::ospanstream"); // Class strstream class strstream : public basic_iostream<char> @@ -231,7 +240,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION private: strstreambuf _M_buf; - }; + } _GLIBCXX_STRSTREAM_DEPR("std::stringstream", "std::spanstream"); + +#undef _GLIBCXX_STRSTREAM_DEPR +#pragma GCC diagnostic pop _GLIBCXX_END_NAMESPACE_VERSION } // namespace