From: Jakub Jelinek <jakub@redhat.com>
To: Jonathan Wakely <jwakely@redhat.com>
Cc: Eric Botcazou <botcazou@adacore.com>,
libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: Re: [committed] libstdc++: Test errno macros directly, not via autoconf [PR 93151]
Date: Thu, 1 Apr 2021 16:27:01 +0200 [thread overview]
Message-ID: <20210401142701.GA1179226@tucnak> (raw)
In-Reply-To: <20210401142556.GT3008@redhat.com>
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 <jwakely@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
next prev parent reply other threads:[~2021-04-01 14:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-16 13:38 Jonathan Wakely
2020-12-17 14:05 ` Jonathan Wakely
2020-12-17 16:21 ` Jonathan Wakely
2021-04-01 14:04 ` Eric Botcazou
2021-04-01 14:25 ` Jonathan Wakely
2021-04-01 14:27 ` Jakub Jelinek [this message]
2021-04-01 15:15 ` Jonathan Wakely
2021-04-01 16:47 ` Eric Botcazou
2021-04-01 17:51 ` Jonathan Wakely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210401142701.GA1179226@tucnak \
--to=jakub@redhat.com \
--cc=botcazou@adacore.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jwakely@redhat.com \
--cc=libstdc++@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).