[gcc r17-3099] libstdc++: Deprecate std::errc constants related to UNIX STREAMS.

Tomasz Kaminski via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.