aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std/streambuf
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-08-19 12:13:03 +0100
committerJonathan Wakely <jwakely@redhat.com>2020-08-19 12:13:23 +0100
commiteef9bf4ca8d90a1751bc4bff03722ee68999eb8e (patch)
tree77266a8822275f972e7f45e31d71167b962cf60e /libstdc++-v3/include/std/streambuf
parent69f571ffc513b689fa26e4c9fceba17c2c989ab3 (diff)
downloadgcc-eef9bf4ca8d90a1751bc4bff03722ee68999eb8e.zip
gcc-eef9bf4ca8d90a1751bc4bff03722ee68999eb8e.tar.gz
gcc-eef9bf4ca8d90a1751bc4bff03722ee68999eb8e.tar.bz2
libstdc++: Add deprecated attributes to old iostream members
Back in 2017 I removed these prehistoric members (which were deprecated since C++98) for C++17 mode. But I didn't add deprecated attributes to most of them, so users didn't get any warning they would be going away. Apparently some poor souls do actually use some of these names, and so now that GCC 11 defaults to -std=gnu++17 some code has stopped compiling. This adds deprecated attributes to them, so that C++98/03/11/14 code will get a warning if it uses them. I'll also backport this to the release branches so that users can find out about the deprecation before they start using C++17. In order to give deprecated warnings even in C++98 mode this patch makes _GLIBCXX_DEPRECATED work even for C++98, adds _GLIBCXX11_DEPRECATED for the old meaning of _GLIBCXX_DEPRECATED, and adds new macros such as _GLIBCXX_DEPRECATED_SUGGEST for suggesting alternatives to deprecated features. libstdc++-v3/ChangeLog: * include/bits/c++config (_GLIBCXX_DEPRECATED): Define for all standard modes. (_GLIBCXX_DEPRECATED_SUGGEST): New macro for "use 'foo' instead" message in deprecated warnings. (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST): New macros for marking features derpecated in C++11. (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST): New macros. * include/backward/auto_ptr.h (auto_ptr_ref, auto_ptr<void>): Use _GLIBCXX11_DEPRECATED instead of _GLIBCXX_DEPRECATED. (auto_ptr): Use _GLIBCXX11_DEPRECATED_SUGGEST. * include/backward/binders.h (binder1st, binder2nd): Likewise. * include/bits/ios_base.h (io_state, open_mode, seek_dir) (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST. * include/std/streambuf (stossc): Replace C++11 attribute with _GLIBCXX_DEPRECATED_SUGGEST. * include/std/type_traits (__is_nullptr_t): Use _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED. * testsuite/27_io/types/1.cc: Check for deprecated warnings. Also check for io_state, open_mode and seek_dir typedefs.
Diffstat (limited to 'libstdc++-v3/include/std/streambuf')
-rw-r--r--libstdc++-v3/include/std/streambuf4
1 files changed, 1 insertions, 3 deletions
diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf
index 3e51236..cae35e7 100644
--- a/libstdc++-v3/include/std/streambuf
+++ b/libstdc++-v3/include/std/streambuf
@@ -784,9 +784,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*
* See http://gcc.gnu.org/ml/libstdc++/2002-05/msg00168.html
*/
-#if __cplusplus >= 201103L
- [[__deprecated__("stossc is deprecated, use sbumpc instead")]]
-#endif
+ _GLIBCXX_DEPRECATED_SUGGEST("std::basic_streambuf::sbumpc")
void
stossc()
{