[PATCH 1/1] libstdc++: Deal with ENOSYS == ENOTSUP

Jonathan Wakely jwakely.gcc@gmail.com
Fri Mar 6 10:00:00 GMT 2020


On Fri, 6 Mar 2020 at 09:52, Andreas Krebbel <krebbel@linux.ibm.com> wrote:
>
> On 3/6/20 10:15 AM, Ville Voutilainen wrote:
> > On Fri, 6 Mar 2020 at 10:41, Andreas Krebbel <krebbel@linux.ibm.com> wrote:
> >>
> >> zTPF uses the same numeric value for ENOSYS and ENOTSUP.
> >>
> >> Ok for mainline?
> >>
> >> libstdc++-v3/ChangeLog:
> >>
> >> 2020-03-06  Andreas Krebbel  <krebbel@linux.ibm.com>
> >>
> >>         * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it
> >>         would match ENOSYS.
> >> ---
> >>  libstdc++-v3/src/c++11/system_error.cc | 3 ++-
> >>  1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/libstdc++-v3/src/c++11/system_error.cc b/libstdc++-v3/src/c++11/system_error.cc
> >> index 7844afe6d2a..1f06e67feea 100644
> >> --- a/libstdc++-v3/src/c++11/system_error.cc
> >> +++ b/libstdc++-v3/src/c++11/system_error.cc
> >> @@ -251,7 +251,8 @@ namespace
> >>  #ifdef ENOTSOCK
> >>        case ENOTSOCK:
> >>  #endif
> >> -#ifdef ENOTSUP
> >> +#if defined ENOTSUP && (!defined ENOSYS || ENOTSUP != ENOSYS)
> >
> > Hmm, what system does not have ENOSYS but has ENOTSUP? Meaning the
> > !defined ENOSYS
> > bit?
> >
> None that I know about. It is just to make sure the compare afterwards operates on defined inputs.

Right, it's the same pattern we use for the other cases of possibly
duplicated values.

OK to commit, thanks.



More information about the Libstdc++ mailing list