https://gcc.gnu.org/g:d36cc0e6c3c6941db738323dd8ff62cd7fa2825c

commit r17-3099-gd36cc0e6c3c6941db738323dd8ff62cd7fa2825c
Author: Tomasz Kamiński <[email protected]>
Date:   Thu Aug 6 13:46:06 2026 +0200

    libstdc++: Deprecate std::errc constants related to UNIX STREAMS.
    
    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.
    
    Reviewed-by: Jonathan Wakely <[email protected]>
    Signed-off-by: Tomasz Kamiński <[email protected]>

Diff:
---
 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 25d702a9b68c..217b9fb007dc 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 d574455ed3b6..c1c8aed251b5 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 a6e68457fe8f..f2a4fb579042 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 b5b085e28b2d..1b1a950c2b0b 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

Reply via email to