On Thu, Apr 01, 2021 at 03:25:56PM +0100, Jonathan Wakely via Gcc-patches wrote:
> On 01/04/21 16:04 +0200, Eric Botcazou wrote:
> > > Oops, and I also forgot to update the other headers that were using
> > > those autoconf-generated macros!
> > > 
> > > Fixed by this patch. Tested on mingw-w64, pushed to trunk.
> > 
> > The original patch was apparently backported onto the gcc-10 branch, but not
> > this follow-up fix, so Windows builds are now broken on the branch.
> 
> Sorry. I did try to test a mingw-w64 cross, but I think I probably
> tested it against trunk not the branch. So didn't test it at all.
> 
> It should be fixed by the attached patch for gcc-10. I'm testing it
> now on linux and mingw.
> 
> I'll wait for RM approval before pushing.

Ok for 10.3, thanks.

> commit 03a430a55093d2ea5b80db3273c3a7134367272a
> Author: Jonathan Wakely <jwak...@redhat.com>
> Date:   Thu Dec 17 13:27:04 2020 +0000
> 
>     libstdc++: Test errno macros directly for all targets [PR 93151]
>     
>     This applies the same changes to the djgpp and mingw versions of
>     error_constants.h as r11-6137 did for the generic version.
>     
>     All of these constants are defined as macros by <errno.h> on these
>     targets, so we can just test the macro directly instead of checking for
>     it at configure time.
>     
>     libstdc++-v3/ChangeLog:
>     
>             * config.h.in: Regenerate.
>             * config/os/djgpp/error_constants.h: Test POSIX errno macros
>             directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
>             * config/os/mingw32-w64/error_constants.h: Likewise.
>             * config/os/mingw32/error_constants.h: Likewise.
>             * configure: Regenerate.
>     
>     (cherry picked from commit 217d5beaff9987a9845155fc796322b5f8bb876d)
> 
> diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h 
> b/libstdc++-v3/config/os/djgpp/error_constants.h
> index e0a67bc8d6d..8f947e69e37 100644
> --- a/libstdc++-v3/config/os/djgpp/error_constants.h
> +++ b/libstdc++-v3/config/os/djgpp/error_constants.h
> @@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        bad_address =                          EFAULT,
>        bad_file_descriptor =                  EBADF,
>  
> -#ifdef _GLIBCXX_HAVE_EBADMSG
> +#ifdef EBADMSG
>        bad_message =                          EBADMSG,
>  #endif
>  
> @@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        function_not_supported =                       ENOSYS,
>  //    host_unreachable =                     EHOSTUNREACH,
>  
> -#ifdef _GLIBCXX_HAVE_EIDRM
> +#ifdef EIDRM
>        identifier_removed =                   EIDRM,
>  #endif
>  
> @@ -86,13 +86,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    no_buffer_space =                      ENOBUFS,
>        no_child_process =                     ECHILD,
>  
> -#ifdef _GLIBCXX_HAVE_ENOLINK
> +#ifdef ENOLINK
>        no_link =                              ENOLINK,
>  #endif
>  
>        no_lock_available =                    ENOLCK,
>  
> -#ifdef _GLIBCXX_HAVE_ENODATA
> +#ifdef ENODATA
>        no_message_available =                         ENODATA,
>  #endif
>  
> @@ -100,7 +100,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    no_protocol_option =                   ENOPROTOOPT,
>        no_space_on_device =                   ENOSPC,
>  
> -#ifdef _GLIBCXX_HAVE_ENOSR
> +#ifdef ENOSR
>        no_stream_resources =                  ENOSR,
>  #endif
>  
> @@ -111,18 +111,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        not_a_directory =                      ENOTDIR,
>  //    not_a_socket =                                 ENOTSOCK,
>  
> -#ifdef _GLIBCXX_HAVE_ENOSTR
> +#ifdef ENOSTR
>        not_a_stream =                                 ENOSTR,
>  #endif
>  
>  //    not_connected =                                ENOTCONN,
>        not_enough_memory =                    ENOMEM,
>  
> -#ifdef _GLIBCXX_HAVE_ENOTSUP
> +#ifdef ENOTSUP
>        not_supported =                                ENOTSUP,
>  #endif
>  
> -#ifdef _GLIBCXX_HAVE_ECANCELED
> +#ifdef ECANCELED
>        operation_canceled =                   ECANCELED,
>  #endif
>  
> @@ -131,13 +131,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    operation_not_supported =              EOPNOTSUPP,
>  //    operation_would_block =                        EWOULDBLOCK,
>  
> -#ifdef _GLIBCXX_HAVE_EOWNERDEAD
> +#ifdef EOWNERDEAD
>        owner_dead =                           EOWNERDEAD,
>  #endif
>  
>        permission_denied =                    EACCES,
>  
> -#ifdef _GLIBCXX_HAVE_EPROTO
> +#ifdef EPROTO
>        protocol_error =                               EPROTO,
>  #endif
>  
> @@ -147,15 +147,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        resource_unavailable_try_again =               EAGAIN,
>        result_out_of_range =                  ERANGE,
>  
> -#ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
> +#ifdef ENOTRECOVERABLE
>        state_not_recoverable =                        ENOTRECOVERABLE,
>  #endif
>  
> -#ifdef _GLIBCXX_HAVE_ETIME
> +#ifdef ETIME
>        stream_timeout =                               ETIME,
>  #endif
>  
> -#ifdef _GLIBCXX_HAVE_ETXTBSY
> +#ifdef ETXTBSY
>        text_file_busy =                               ETXTBSY,
>  #endif
>  
> @@ -165,7 +165,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        too_many_links =                               EMLINK,
>        too_many_symbolic_link_levels =                ELOOP,
>  
> -#ifdef _GLIBCXX_HAVE_EOVERFLOW
> +#ifdef EOVERFLOW
>        value_too_large =                      EOVERFLOW,
>  #endif
>  
> diff --git a/libstdc++-v3/config/os/mingw32-w64/error_constants.h 
> b/libstdc++-v3/config/os/mingw32-w64/error_constants.h
> index 72422299def..3534c3e11b7 100644
> --- a/libstdc++-v3/config/os/mingw32-w64/error_constants.h
> +++ b/libstdc++-v3/config/os/mingw32-w64/error_constants.h
> @@ -49,7 +49,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        argument_out_of_domain =                       EDOM,
>        bad_address =                          EFAULT,
>        bad_file_descriptor =                  EBADF,
> -#ifdef _GLIBCXX_HAVE_EBADMSG
> +#ifdef EBADMSG
>        bad_message =                          EBADMSG,
>  #endif
>        broken_pipe =                          EPIPE,
> @@ -67,7 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        filename_too_long =                    ENAMETOOLONG,
>        function_not_supported =                       ENOSYS,
>        host_unreachable =                     EHOSTUNREACH,
> -#ifdef _GLIBCXX_HAVE_EIDRM
> +#ifdef EIDRM
>        identifier_removed =                   EIDRM,
>  #endif
>        illegal_byte_sequence =                        EILSEQ,
> @@ -82,24 +82,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        network_reset =                                ENETRESET,
>        network_unreachable =                  ENETUNREACH,
>        no_buffer_space =                      ENOBUFS,
> -#ifdef _GLIBCXX_HAVE_ECHILD
> +#ifdef ECHILD
>        no_child_process =                     ECHILD,
>  #endif
> -#ifdef _GLIBCXX_HAVE_ENOLINK
> +#ifdef ENOLINK
>        no_link =                              ENOLINK,
>  #endif
>        no_lock_available =                    ENOLCK,
> -#ifdef _GLIBCXX_HAVE_ENODATA
> +#ifdef ENODATA
>        no_message_available =                         ENODATA,
>  #endif
> -#ifdef _GLIBCXX_HAVE_ENOMSG
> +#ifdef ENOMSG
>        no_message =                           ENOMSG,
>  #endif
>        no_protocol_option =                   ENOPROTOOPT,
> -#ifdef _GLIBCXX_HAVE_ENOSPC
> +#ifdef ENOSPC
>        no_space_on_device =                   ENOSPC,
>  #endif
> -#ifdef _GLIBCXX_HAVE_ENOSR
> +#ifdef ENOSR
>        no_stream_resources =                  ENOSR,
>  #endif
>        no_such_device_or_address =            ENXIO,
> @@ -108,24 +108,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        no_such_process =                      ESRCH,
>        not_a_directory =                      ENOTDIR,
>        not_a_socket =                                 ENOTSOCK,
> -#ifdef _GLIBCXX_HAVE_ENOSTR
> +#ifdef ENOSTR
>        not_a_stream =                                 ENOSTR,
>  #endif
>        not_connected =                                ENOTCONN,
>        not_enough_memory =                    ENOMEM,
> -#ifdef _GLIBCXX_HAVE_ENOTSUP
> +#ifdef ENOTSUP
>        not_supported =                                ENOTSUP,
>  #endif
>        operation_canceled =                   ECANCELED,
>        operation_in_progress =                        EINPROGRESS,
> -#ifdef _GLIBCXX_HAVE_EPERM
> +#ifdef EPERM
>        operation_not_permitted =              EPERM,
>  #endif
>        operation_not_supported =              EOPNOTSUPP,
> -#ifdef _GLIBCXX_HAVE_EWOULDBLOCK
> +#ifdef EWOULDBLOCK
>        operation_would_block =                        EWOULDBLOCK,
>  #endif
> -#ifdef _GLIBCXX_HAVE_EOWNERDEAD
> +#ifdef EOWNERDEAD
>        owner_dead =                           EOWNERDEAD,
>  #endif
>        permission_denied =                    EACCES,
> @@ -135,23 +135,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        resource_deadlock_would_occur =                EDEADLK,
>        resource_unavailable_try_again =               EAGAIN,
>        result_out_of_range =                  ERANGE,
> -#ifdef _GLIBCXX_HAVE_ENOTRECOVERABLE
> +#ifdef ENOTRECOVERABLE
>        state_not_recoverable =                        ENOTRECOVERABLE,
>  #endif
> -#ifdef _GLIBCXX_HAVE_ETIME
> +#ifdef ETIME
>        stream_timeout =                               ETIME,
>  #endif
> -#ifdef _GLIBCXX_HAVE_ETXTBSY
> +#ifdef ETXTBSY
>        text_file_busy =                               ETXTBSY,
>  #endif
> -#ifdef _GLIBCXX_HAVE_ETIMEDOUT
> +#ifdef 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,
> -#ifdef _GLIBCXX_HAVE_EOVERFLOW
> +#ifdef EOVERFLOW
>        value_too_large =                      EOVERFLOW,
>  #endif
>        wrong_protocol_type =                  EPROTOTYPE
> diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h 
> b/libstdc++-v3/config/os/mingw32/error_constants.h
> index 68ac72a78fb..2222c5227c4 100644
> --- a/libstdc++-v3/config/os/mingw32/error_constants.h
> +++ b/libstdc++-v3/config/os/mingw32/error_constants.h
> @@ -78,7 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    network_reset =                                ENETRESET,
>  //    network_unreachable =                  ENETUNREACH,
>  //    no_buffer_space =                      ENOBUFS,
> -#ifdef _GLIBCXX_HAVE_ECHILD
> +#ifdef ECHILD
>        no_child_process =                     ECHILD,
>  #endif
>  //    no_link =                              ENOLINK,
> @@ -86,7 +86,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    no_message_available =                         ENODATA,
>  //    no_message =                           ENOMSG,
>  //    no_protocol_option =                   ENOPROTOOPT,
> -#ifdef _GLIBCXX_HAVE_ENOSPC
> +#ifdef ENOSPC
>        no_space_on_device =                   ENOSPC,
>  #endif
>  //    no_stream_resources =                  ENOSR,
> @@ -99,16 +99,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    not_a_stream =                                 ENOSTR,
>  //    not_connected =                                ENOTCONN,
>        not_enough_memory =                    ENOMEM,
> -#ifdef _GLIBCXX_HAVE_ENOTSUP
> +#ifdef ENOTSUP
>        not_supported =                                ENOTSUP,
>  #endif
>  //    operation_canceled =                   ECANCELED,
>  //    operation_in_progress =                        EINPROGRESS,
> -#ifdef _GLIBCXX_HAVE_EPERM
> +#ifdef EPERM
>        operation_not_permitted =              EPERM,
>  #endif
>  //    operation_not_supported =              EOPNOTSUPP,
> -#ifdef _GLIBCXX_HAVE_EWOULDBLOCK
> +#ifdef EWOULDBLOCK
>        operation_would_block =                        EWOULDBLOCK,
>  #endif
>  //    owner_dead =                           EOWNERDEAD,
> @@ -122,14 +122,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>  //    state_not_recoverable =                        ENOTRECOVERABLE,
>  //    stream_timeout =                               ETIME,
>  //    text_file_busy =                               ETXTBSY,
> -#ifdef _GLIBCXX_HAVE_ETIMEDOUT
> +#ifdef 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,
> -#ifdef _GLIBCXX_HAVE_EOVERFLOW
> +#ifdef EOVERFLOW
>       ,
>        value_too_large =                      EOVERFLOW
>  #endif


        Jakub

Reply via email to