Re: [PATCH] libstdc++: Deprecate std::errc constants related to UNIX STREAMS.
Jonathan Wakely <[email protected]> Thu, 6 Aug 2026 14:49:01 +0100
| Newsgroups | gmane.comp.gcc.patches,gmane.comp.gcc.libstdc++.devel |
|---|---|
| Message-ID | <CAH6eHdSjn04SFdN=uNxFBEq5Y5xC2_rB3taH_0nmsm9JYgupMQ@mail.gmail.com> |
On Thu, 6 Aug 2026, 13:23 Tomasz KamiĆski, <[email protected]> wrote: > Add _GLIBCXX23_DEPRECATED attribute to no_message_available, > no_stream_resources, not_a_stream, stream_timeout, per LWG3869, > "Deprecate std::errc constants related to UNIX STREAMS". > > The config/os/mingw32/error_constants.h does not define any > of above enumerators (they definitions are commented out). > > libstdc++-v3/ChangeLog: > > * config/os/djgpp/error_constants.h (errc::no_message_available) > (errc::no_stream_resources, errc:not_a_stream) > (errc::stream_timeout): Mark as _GLIBCXX23_DEPRECATED > * config/os/generic/error_constants.h > (errc::no_message_available, errc::no_stream_resources) > (errc:not_a_stream, errc::stream_timeout): Likewise. > * config/os/mingw32-w64/error_constants.h > (errc::no_message_available, errc::no_stream_resources) > (errc:not_a_stream, errc::stream_timeout): Likewise. > * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: > Add dg-warning attributes for expected deprecation warnings. > --- > Tested on x86_64-linux locally. system_error/errc_std_c++0x.cc tested > in all standard modes. OK for trunk? > OK > libstdc++-v3/config/os/djgpp/error_constants.h | 8 ++++---- > libstdc++-v3/config/os/generic/error_constants.h | 8 ++++---- > libstdc++-v3/config/os/mingw32-w64/error_constants.h | 8 ++++---- > .../19_diagnostics/headers/system_error/errc_std_c++0x.cc | 8 ++++---- > 4 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h > b/libstdc++-v3/config/os/djgpp/error_constants.h > index 25d702a9b68..217b9fb007d 100644 > --- a/libstdc++-v3/config/os/djgpp/error_constants.h > +++ b/libstdc++-v3/config/os/djgpp/error_constants.h > @@ -93,7 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > no_lock_available = ENOLCK, > > #ifdef ENODATA > - no_message_available = ENODATA, > + no_message_available _GLIBCXX23_DEPRECATED = ENODATA, > #endif > > // no_message = ENOMSG, > @@ -101,7 +101,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > no_space_on_device = ENOSPC, > > #ifdef ENOSR > - no_stream_resources = ENOSR, > + no_stream_resources _GLIBCXX23_DEPRECATED = ENOSR, > #endif > > no_such_device_or_address = ENXIO, > @@ -112,7 +112,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > // not_a_socket = ENOTSOCK, > > #ifdef ENOSTR > - not_a_stream = ENOSTR, > + not_a_stream _GLIBCXX23_DEPRECATED = ENOSTR, > #endif > > // not_connected = ENOTCONN, > @@ -152,7 +152,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > #endif > > #ifdef ETIME > - stream_timeout = ETIME, > + stream_timeout _GLIBCXX26_DEPRECATED = ETIME, > #endif > > #ifdef ETXTBSY > diff --git a/libstdc++-v3/config/os/generic/error_constants.h > b/libstdc++-v3/config/os/generic/error_constants.h > index d574455ed3b..c1c8aed251b 100644 > --- a/libstdc++-v3/config/os/generic/error_constants.h > +++ b/libstdc++-v3/config/os/generic/error_constants.h > @@ -93,7 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > no_lock_available = ENOLCK, > > #ifdef ENODATA > - no_message_available = ENODATA, > + no_message_available _GLIBCXX23_DEPRECATED = ENODATA, > #endif > > no_message = ENOMSG, > @@ -101,7 +101,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > no_space_on_device = ENOSPC, > > #ifdef ENOSR > - no_stream_resources = ENOSR, > + no_stream_resources _GLIBCXX23_DEPRECATED = ENOSR, > #endif > > no_such_device_or_address = ENXIO, > @@ -112,7 +112,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > not_a_socket = ENOTSOCK, > > #ifdef ENOSTR > - not_a_stream = ENOSTR, > + not_a_stream _GLIBCXX23_DEPRECATED = ENOSTR, > #endif > > not_connected = ENOTCONN, > @@ -152,7 +152,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > #endif > > #ifdef ETIME > - stream_timeout = ETIME, > + stream_timeout _GLIBCXX23_DEPRECATED = ETIME, > #endif > > #ifdef ETXTBSY > diff --git a/libstdc++-v3/config/os/mingw32-w64/error_constants.h > b/libstdc++-v3/config/os/mingw32-w64/error_constants.h > index a6e68457fe8..f2a4fb57904 100644 > --- a/libstdc++-v3/config/os/mingw32-w64/error_constants.h > +++ b/libstdc++-v3/config/os/mingw32-w64/error_constants.h > @@ -90,7 +90,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > #endif > no_lock_available = ENOLCK, > #ifdef ENODATA > - no_message_available = ENODATA, > + no_message_available _GLIBCXX23_DEPRECATED = ENODATA, > #endif > #ifdef ENOMSG > no_message = ENOMSG, > @@ -100,7 +100,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > no_space_on_device = ENOSPC, > #endif > #ifdef ENOSR > - no_stream_resources = ENOSR, > + no_stream_resources _GLIBCXX23_DEPRECATED = ENOSR, > #endif > no_such_device_or_address = ENXIO, > no_such_device = ENODEV, > @@ -109,7 +109,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > not_a_directory = ENOTDIR, > not_a_socket = ENOTSOCK, > #ifdef ENOSTR > - not_a_stream = ENOSTR, > + not_a_stream _GLIBCXX23_DEPRECATED = ENOSTR, > #endif > not_connected = ENOTCONN, > not_enough_memory = ENOMEM, > @@ -139,7 +139,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > state_not_recoverable = ENOTRECOVERABLE, > #endif > #ifdef ETIME > - stream_timeout = ETIME, > + stream_timeout _GLIBCXX23_DEPRECATED = ETIME, > #endif > #ifdef ETXTBSY > text_file_busy = ETXTBSY, > diff --git > a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc > b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc > index b5b085e28b2..1b1a950c2b0 100644 > --- > a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc > +++ > b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc > @@ -82,7 +82,7 @@ void test01() > TEST_ERRC(no_lock_available); > > #ifdef ENODATA > - TEST_ERRC(no_message_available); > + TEST_ERRC(no_message_available); // { dg-warning "deprecated" "" { > target c++23 } } > #endif > > #ifdef ENOMSG > @@ -95,7 +95,7 @@ void test01() > #endif > > #ifdef ENOSR > - TEST_ERRC(no_stream_resources); > + TEST_ERRC(no_stream_resources); // { dg-warning "deprecated" "" { > target c++23 } } > #endif > > TEST_ERRC(no_such_device_or_address); > @@ -106,7 +106,7 @@ void test01() > TEST_ERRC(not_a_socket); > > #ifdef ENOSTR > - TEST_ERRC(not_a_stream); > + TEST_ERRC(not_a_stream); // { dg-warning "deprecated" "" { target c++23 > } } > #endif > > TEST_ERRC(not_connected); > @@ -153,7 +153,7 @@ void test01() > #endif > > #ifdef ETIME > - TEST_ERRC(stream_timeout); > + TEST_ERRC(stream_timeout); // { dg-warning "deprecated" "" { target > c++23 } } > #endif > > #ifdef ETXTBSY > -- > 2.55.0 > >