GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
libstdc++

std::errc constants for UNIX STREAMS deprecated

Several std::errc constants related to UNIX STREAMS are now deprecated.

In accordance with LWG3869, GCC’s libstdc++ has deprecated the std::errc constants no_message_available, no_stream_resources, not_a_stream, and stream_timeout. These constants are related to UNIX STREAMS functionality. The deprecation is marked with the _GLIBCXX23_DEPRECATED attribute.

In Details

The constants errc::no_message_available, errc::no_stream_resources, errc::not_a_stream, and errc::stream_timeout are marked with _GLIBCXX23_DEPRECATED in error_constants.h across various platform configurations (djgpp, generic, mingw32-w64). This aligns with LWG3869's recommendation to deprecate these UNIX STREAMS-related error codes.

For Context
std::errc
An enumeration type in C++ that defines a set of common error condition codes, often used with std::error_code and std::system_error.
UNIX STREAMS
A framework in UNIX-like operating systems for handling character-based input/output, typically involving modules that process data streams.
LWG3869
A proposal or issue number from the C++ Library Working Group (LWG) that led to the deprecation of these specific std::errc constants.
_GLIBCXX23_DEPRECATED
A macro used in libstdc++ to mark entities as deprecated, typically indicating that they should not be used in new code and may be removed in future versions.
Filed Under: libstdc++cppdeprecationerror handling