]> git.ipfire.org Git - thirdparty/u-boot.git/commit
Merge patch series "integer limit macro consolidation"
authorTom Rini <trini@konsulko.com>
Mon, 14 Jul 2025 18:43:33 +0000 (12:43 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 14 Jul 2025 18:43:33 +0000 (12:43 -0600)
commitf1e5599241f728c2bbb2d7c9bcc5a79c7194d285
tree707d1627d62cf386a4b3db4acc985d0027fcdeb5
parent235e14b0f1ad7cfd46e18635f22a3cba7209c766
parentdd260d95fd26deedc64f076b554759d09420f006
Merge patch series "integer limit macro consolidation"

Rasmus Villemoes <ravi@prevas.dk> says:

I was bitten by our limit macros not being usable in #if conditionals
when building a standalone app. It turns out that the work to fix that
had already been started by the inclusion of the mbedtls library, so
it's something that people do hit.

Let's finish the job by providing suitable limit macros for all three families:

- Standard C types, char, short, ...
- Kernel-style fixed-width types s8, u64, ...
- POSIX/C99 fixed-width types int16_t, uint32_t, ...

Please note that a naive approach like spelling out the full decimal
value for the constants doesn't really work, as there is no such thing
as a "negative integer constant". That is, doing

#define LLONG_MIN -9223372036854775808LL

would lead to the compiler complaining

  warning: integer constant is so large that it is unsigned

and the type of that LLONG_MIN would actually be "unsigned long long", so e.g.

#if LLONG_MIN >= 0
#warning "LLONG_MIN is not negative?"
#endif

would fire.

Link: https://lore.kernel.org/r/20250707203655.613340-1-ravi@prevas.dk