git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 2/6] bswap.h: Add support for __BYTE_ORDER__

From
Collin Funk <collin.funk1@gmail.com>
Date
Jun 12, 2025, 00:43 UTC
Message-ID
<87wm9hkcvr.fsf@gmail.com>
In-Reply-To
<aEoeUCcXYByjU5HR@fruit.crustytoothpaste.net>
"brian m. carlson" <sandals@crustytoothpaste.net> writes:
Show 9 quoted lines
> One additional option you can add if you want (it's completely optional)
> is that if `__STDC_VERSION__` is 202311L or larger, then you can
> `#include <stdbit.h>`, which has `__STDC_ENDIAN_LITTLE__`,
> `__STDC_ENDIAN_BIG__`, and `__STDC_ENDIAN_NATIVE__`.
>
> That will work on a modern GCC or clang with an appropriate compiler
> flag.  I don't know about MSVC, but it might be an option for people who
> want to use more esoteric compilers which support standards but aren't
> very compatible with GCC and clang.

Another standard that is too new to be common, but POSIX.1-2024 added <endian.h> with BYTE_ORDER, LITTLE_ENDIAN, and BIG_ENDIAN [1].

In practice, some systems will have it because glibc had it for a long time.

Collin
[1] https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/endian.h.html
Previous: brian m. carlsonNext: Junio C Hamano
Message 4 of 20 in “bswap.h: Rework ntohl handling”
  1. 0/6 bswap.h: Rework ntohl handlingSebastian Andrzej Siewior, Jun 11, 2025
  2. 2/6 bswap.h: Add support for __BYTE_ORDER__Sebastian Andrzej Siewior, Jun 11, 2025
  3. brian m. carlsonJun 12, 2025
  4. Collin FunkJun 12, 2025
  5. Junio C HamanoJun 12, 2025
  6. 1/6 Revert "bswap.h: add support for built-in bswap functions"Sebastian Andrzej Siewior, Jun 11, 2025
  7. Junio C HamanoJun 12, 2025
  8. 3/6 bswap.h: Define GIT_LITTLE_ENDIAN on msvc as little endianSebastian Andrzej Siewior, Jun 11, 2025
  9. Junio C HamanoJun 12, 2025
  10. 5/6 bswap.h: Remove optimized x86 version of bswap32/64Sebastian Andrzej Siewior, Jun 11, 2025
  11. Kristoffer HaugsbakkJun 26, 2025
  12. Sebastian Andrzej SiewiorJul 15, 2025
  13. 6/6 bswap.h: Provide a built-in based version of bswap32/64 if possibleSebastian Andrzej Siewior, Jun 11, 2025
  14. 5/6 bswap: Remove optimized x86 version of bswap32/64Sebastian Andrzej Siewior, Jun 11, 2025
  15. 4/6 bswap.h: Always overwrite ntohl/ ntohll macrosSebastian Andrzej Siewior, Jun 11, 2025
  16. brian m. carlsonJun 12, 2025
  17. Junio C HamanoJun 12, 2025
  18. Junio C HamanoJun 12, 2025
  19. Junio C HamanoJul 7, 2025
  20. Sebastian Andrzej SiewiorJul 9, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.