[gcc/devel/c++-modules] libstdc++: Deal with ENOSYS == ENOTSUP

Nathan Sidwell nathan@gcc.gnu.org
Tue Mar 10 13:13:26 GMT 2020


https://gcc.gnu.org/g:28119fba7f1a3c96dde58905277eac4de148f210

commit 28119fba7f1a3c96dde58905277eac4de148f210
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date:   Fri Mar 6 09:37:55 2020 +0100

    libstdc++: Deal with ENOSYS == ENOTSUP
    
    zTPF uses the same numeric value for ENOSYS and ENOTSUP.
    
    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.

Diff:
---
 libstdc++-v3/ChangeLog                 | 5 +++++
 libstdc++-v3/src/c++11/system_error.cc | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8c94885ff29..644a18ad39f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
 2020-03-05  Jonathan Wakely  <jwakely@redhat.com>
 
 	* testsuite/27_io/filesystem/operations/all.cc: Mark unused variable.
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)
+      // zTPF uses the same value for ENOSYS and ENOTSUP
       case ENOTSUP:
 #endif
 #ifdef ENOTTY


More information about the Libstdc++-cvs mailing list