PR 71444 define more error constants for mingw-w64
authorJonathan Wakely <jwakely@redhat.com>
Wed, 21 Dec 2016 13:09:13 +0000 (13:09 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 21 Dec 2016 13:09:13 +0000 (13:09 +0000)
PR libstdc++/71444
* config/os/mingw32-w64/error_constants.h
(address_family_not_supported, address_in_use, address_not_available)
(already_connected, connection_aborted, connection_already_in_progress)
connection_refused, connection_reset, cross_device_link)
(destination_address_required, host_unreachable, message_size)
(network_down, network_reset, network_unreachable, no_buffer_space)
(no_protocol_option, not_a_socket, not_connected, operation_canceled)
(operation_in_progress, operation_not_supported, protocol_error)
(protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
(value_too_large, wrong_protocol_type): Define.
(bad_message, identifier_removed, no_link, no_message_available)
(no_message, no_stream_resources, not_a_stream, owner_dead)
(state_not_recoverable, stream_timeout, text_file_busy): Define
conditionally.
* testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.

From-SVN: r243853

libstdc++-v3/ChangeLog
libstdc++-v3/config/os/mingw32-w64/error_constants.h
libstdc++-v3/testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc

index 28f2f80..02297e0 100644 (file)
@@ -1,3 +1,23 @@
+2016-12-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/71444
+       * config/os/mingw32-w64/error_constants.h
+       (address_family_not_supported, address_in_use, address_not_available)
+       (already_connected, connection_aborted, connection_already_in_progress)
+       connection_refused, connection_reset, cross_device_link)
+       (destination_address_required, host_unreachable, message_size)
+       (network_down, network_reset, network_unreachable, no_buffer_space)
+       (no_protocol_option, not_a_socket, not_connected, operation_canceled)
+       (operation_in_progress, operation_not_supported, protocol_error)
+       (protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
+       (value_too_large, wrong_protocol_type): Define.
+       (bad_message, identifier_removed, no_link, no_message_available)
+       (no_message, no_stream_resources, not_a_stream, owner_dead)
+       (state_not_recoverable, stream_timeout, text_file_busy): Define
+       conditionally.
+       * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
+       Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.
+
 2016-12-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
 
        Make the perfect-forwarding constructor of a two-element tuple
index 5cbf63c..f100373 100644 (file)
@@ -41,22 +41,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 // replaced by Winsock WSA-prefixed equivalents.
   enum class errc
     {
-//    address_family_not_supported =           EAFNOSUPPORT,
-//    address_in_use =                                 EADDRINUSE,
-//    address_not_available =                  EADDRNOTAVAIL,
-//    already_connected =                      EISCONN,
+      address_family_not_supported =           EAFNOSUPPORT,
+      address_in_use =                                 EADDRINUSE,
+      address_not_available =                  EADDRNOTAVAIL,
+      already_connected =                      EISCONN,
       argument_list_too_long =                         E2BIG,
       argument_out_of_domain =                         EDOM,
       bad_address =                            EFAULT,
       bad_file_descriptor =                    EBADF,
-//    bad_message =                            EBADMSG,
+#ifdef _GLIBCXX_HAVE_EBADMSG
+      bad_message =                            EBADMSG,
+#endif
       broken_pipe =                            EPIPE,
-//    connection_aborted =                     ECONNABORTED,
-//    connection_already_in_progress =                 EALREADY,
-//    connection_refused =                     ECONNREFUSED,
-//    connection_reset =                       ECONNRESET,
-//    cross_device_link =                      EXDEV,
-//    destination_address_required =           EDESTADDRREQ,
+      connection_aborted =                     ECONNABORTED,
+      connection_already_in_progress =                 EALREADY,
+      connection_refused =                     ECONNREFUSED,
+      connection_reset =                       ECONNRESET,
+      cross_device_link =                      EXDEV,
+      destination_address_required =           EDESTADDRREQ,
       device_or_resource_busy =                EBUSY,
       directory_not_empty =                    ENOTEMPTY,
       executable_format_error =                ENOEXEC,
@@ -64,8 +66,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       file_too_large =                                 EFBIG,
       filename_too_long =                      ENAMETOOLONG,
       function_not_supported =                         ENOSYS,
-//    host_unreachable =                       EHOSTUNREACH,
-//    identifier_removed =                     EIDRM,
+      host_unreachable =                       EHOSTUNREACH,
+#ifdef _GLIBCXX_HAVE_EIDRM
+      identifier_removed =                     EIDRM,
+#endif
       illegal_byte_sequence =                  EILSEQ,
       inappropriate_io_control_operation =     ENOTTY,
       interrupted =                            EINTR,
@@ -73,67 +77,84 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       invalid_seek =                           ESPIPE,
       io_error =                               EIO,
       is_a_directory =                                 EISDIR,
-//    message_size =                           EMSGSIZE,
-//    network_down =                           ENETDOWN,
-//    network_reset =                          ENETRESET,
-//    network_unreachable =                    ENETUNREACH,
-//    no_buffer_space =                        ENOBUFS,
+      message_size =                           EMSGSIZE,
+      network_down =                           ENETDOWN,
+      network_reset =                          ENETRESET,
+      network_unreachable =                    ENETUNREACH,
+      no_buffer_space =                        ENOBUFS,
 #ifdef _GLIBCXX_HAVE_ECHILD
       no_child_process =                       ECHILD,
 #endif
-//    no_link =                                ENOLINK,
+#ifdef _GLIBCXX_HAVE_ENOLINK
+      no_link =                                ENOLINK,
+#endif
       no_lock_available =                      ENOLCK,
-//    no_message_available =                   ENODATA,
-//    no_message =                             ENOMSG,
-//    no_protocol_option =                     ENOPROTOOPT,
+#ifdef _GLIBCXX_HAVE_ENODATA
+      no_message_available =                   ENODATA,
+#endif
+#ifdef _GLIBCXX_HAVE_ENOMSG
+      no_message =                             ENOMSG,
+#endif
+      no_protocol_option =                     ENOPROTOOPT,
 #ifdef _GLIBCXX_HAVE_ENOSPC
       no_space_on_device =                     ENOSPC,
 #endif
-//    no_stream_resources =                    ENOSR,
+#ifdef _GLIBCXX_HAVE_ENOSR
+      no_stream_resources =                    ENOSR,
+#endif
       no_such_device_or_address =              ENXIO,
       no_such_device =                                 ENODEV,
       no_such_file_or_directory =              ENOENT,
       no_such_process =                        ESRCH,
       not_a_directory =                        ENOTDIR,
-//    not_a_socket =                           ENOTSOCK,
-//    not_a_stream =                           ENOSTR,
-//    not_connected =                          ENOTCONN,
+      not_a_socket =                           ENOTSOCK,
+#ifdef _GLIBCXX_HAVE_ENOSTR
+      not_a_stream =                           ENOSTR,
+#endif
+      not_connected =                          ENOTCONN,
       not_enough_memory =                      ENOMEM,
 #ifdef _GLIBCXX_HAVE_ENOTSUP
       not_supported =                          ENOTSUP,
 #endif
-//    operation_canceled =                     ECANCELED,
-//    operation_in_progress =                  EINPROGRESS,
+      operation_canceled =                     ECANCELED,
+      operation_in_progress =                  EINPROGRESS,
 #ifdef _GLIBCXX_HAVE_EPERM
       operation_not_permitted =                EPERM,
 #endif
-//    operation_not_supported =                EOPNOTSUPP,
+      operation_not_supported =                EOPNOTSUPP,
 #ifdef _GLIBCXX_HAVE_EWOULDBLOCK
       operation_would_block =                  EWOULDBLOCK,
 #endif
-//    owner_dead =                             EOWNERDEAD,
+#ifdef _GLIBCXX_HAVE_EOWNERDEAD
+      owner_dead =                             EOWNERDEAD,
+#endif
       permission_denied =                      EACCES,
-//    protocol_error =                                 EPROTO,
-//    protocol_not_supported =                         EPROTONOSUPPORT,
+      protocol_error =                                 EPROTO,
+      protocol_not_supported =                         EPROTONOSUPPORT,
       read_only_file_system =                  EROFS,
       resource_deadlock_would_occur =          EDEADLK,
       resource_unavailable_try_again =                 EAGAIN,
       result_out_of_range =                    ERANGE,
-//    state_not_recoverable =                  ENOTRECOVERABLE,
-//    stream_timeout =                                 ETIME,
-//    text_file_busy =                                 ETXTBSY,
+#ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
+      state_not_recoverable =                  ENOTRECOVERABLE,
+#endif
+#ifdef _GLIBCXX_HAVE_ETIME
+      stream_timeout =                                 ETIME,
+#endif
+#ifdef _GLIBCXX_HAVE_ETXTBSY
+      text_file_busy =                                 ETXTBSY,
+#endif
 #ifdef _GLIBCXX_HAVE_ETIMEDOUT
       timed_out =                              ETIMEDOUT,
 #endif
       too_many_files_open_in_system =          ENFILE,
       too_many_files_open =                    EMFILE,
-      too_many_links =                                 EMLINK
-//    too_many_symbolic_link_levels =          ELOOP,
+      too_many_links =                                 EMLINK,
+      too_many_symbolic_link_levels =          ELOOP,
 #ifdef _GLIBCXX_HAVE_EOVERFLOW
-       ,
-      value_too_large =                        EOVERFLOW
+      value_too_large =                        EOVERFLOW,
 #endif
-//    wrong_protocol_type =                    EPROTOTYPE
+      wrong_protocol_type =                    EPROTOTYPE
    };
 
 _GLIBCXX_END_NAMESPACE_VERSION
index 636178e..20b5cce 100644 (file)
@@ -82,7 +82,9 @@ void test01()
   TEST_ERRC(no_message_available);
 #endif
 
+#ifdef _GLIBCXX_HAVE_ENOMSG
   TEST_ERRC(no_message);
+#endif
   TEST_ERRC(no_protocol_option);
   TEST_ERRC(no_space_on_device);