git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2 2/6] bswap.h: Add support for __BYTE_ORDER__
Date: Thu, 12 Jun 2025 13:10:15 -0700	[thread overview]
Message-ID: <xmqqv7p0d8m0.fsf@gitster.g> (raw)
In-Reply-To: <20250611221444.1567638-3-sebastian@breakpoint.cc> (Sebastian Andrzej Siewior's message of "Thu, 12 Jun 2025 00:14:38 +0200")

Sebastian Andrzej Siewior <sebastian@breakpoint.cc> writes:

> The __BYTE_ORDER__ define is provided by gcc (since ~v4.6), clang
> (since ~v3.2) and icc (since ~16.0.3). It is not provided by msvc as of
> v19.43 / 17.13.6.

I think it is more confusing than illuninating to have the last
sentence in the above paragraph.  There probably are tons of other
compilers that do not support it, and this patch does not target any
of them, including MSVC, which is the topic of the next step anyway.

So, I'm inclined to just remove the sentence, or replace it with
something like "Even recent versions of MSVC do not support it,
which will be dealt with in the next patch."

> The __BYTE_ORDER and BYTE_ORDER macros are libc specific and are not
> available on all supported platforms such as mingw.
>
> Add support for the __BYTE_ORDER__ macro as a fallback.
>
> Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
> ---
>  compat/bswap.h | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/compat/bswap.h b/compat/bswap.h
> index b34054f2bd728..0a457542dd76a 100644
> --- a/compat/bswap.h
> +++ b/compat/bswap.h
> @@ -116,6 +116,12 @@ static inline uint64_t git_bswap64(uint64_t x)
>  # define GIT_LITTLE_ENDIAN LITTLE_ENDIAN
>  # define GIT_BIG_ENDIAN BIG_ENDIAN
>  
> +#elif defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && defined(__ORDER_BIG_ENDIAN__)
> +
> +# define GIT_BYTE_ORDER __BYTE_ORDER__
> +# define GIT_LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
> +# define GIT_BIG_ENDIAN __ORDER_BIG_ENDIAN__
> +
>  #else
>  
>  # define GIT_BIG_ENDIAN 4321

  parent reply	other threads:[~2025-06-12 20:10 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-11 22:14 [PATCH v2 0/6] bswap.h: Rework ntohl handling Sebastian Andrzej Siewior
2025-06-11 22:14 ` [PATCH v2 1/6] Revert "bswap.h: add support for built-in bswap functions" Sebastian Andrzej Siewior
2025-06-12 20:04   ` Junio C Hamano
2025-06-11 22:14 ` [PATCH v2 2/6] bswap.h: Add support for __BYTE_ORDER__ Sebastian Andrzej Siewior
2025-06-12  0:24   ` brian m. carlson
2025-06-12  0:43     ` Collin Funk
2025-06-12 20:10   ` Junio C Hamano [this message]
2025-06-11 22:14 ` [PATCH v2 3/6] bswap.h: Define GIT_LITTLE_ENDIAN on msvc as little endian Sebastian Andrzej Siewior
2025-06-12 20:11   ` Junio C Hamano
2025-06-11 22:14 ` [PATCH v2 4/6] bswap.h: Always overwrite ntohl/ ntohll macros Sebastian Andrzej Siewior
2025-06-12  0:14   ` brian m. carlson
2025-06-12 20:16     ` Junio C Hamano
2025-06-11 22:14 ` [PATCH v2 5/6] bswap.h: Remove optimized x86 version of bswap32/64 Sebastian Andrzej Siewior
2025-06-26 15:55   ` Kristoffer Haugsbakk
2025-07-15 19:02     ` Sebastian Andrzej Siewior
2025-06-11 22:14 ` [PATCH v2 5/6] bswap: " Sebastian Andrzej Siewior
2025-06-11 22:14 ` [PATCH v2 6/6] bswap.h: Provide a built-in based version of bswap32/64 if possible Sebastian Andrzej Siewior
2025-06-12 20:21 ` [PATCH v2 0/6] bswap.h: Rework ntohl handling Junio C Hamano
2025-07-07 22:43 ` Junio C Hamano
2025-07-09  6:04   ` Sebastian Andrzej Siewior

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=xmqqv7p0d8m0.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=sebastian@breakpoint.cc \
    /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 NNTP newsgroup(s).