1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:17:36 +00:00

LibC: Fix stdint.h macros on x86_64

x86_64 is an LP64 platform, so its `uint64_t` type is defined to be
`unsigned long`, not `unsigned long long` like on i686. This means that
the `UL` literal suffix should be used instead of `ULL`.

Furthermore, `uintptr_t` is 64 bits wide on x86_64, so defining
`UINTPTR_MAX` to be `UINT32_MAX` is also not correct.
This commit is contained in:
Daniel Bertalan 2021-11-26 23:07:13 +01:00 committed by Brian Gianforcaro
parent 4c0d868bb6
commit 23adb7449f

View file

@ -49,6 +49,32 @@ typedef __INT_LEAST64_TYPE__ int_least64_t;
#define __int64_t_defined 1
#define __uint64_t_defined 1
#define INT8_C(x) x
#define UINT8_C(x) x
#define INT16_C(x) x
#define UINT16_C(x) x
#define INT32_C(x) x
#define UINT32_C(x) x##U
#ifdef __clang__
# define __int_c_concat(a, b) a##b
# define __int_c(var, suffix) __int_c_concat(var, suffix)
# define INT64_C(x) __int_c(x, __INT64_C_SUFFIX__)
# define UINT64_C(x) __int_c(x, __UINT64_C_SUFFIX__)
# define INTMAX_C(c) __int_c(c, __INTMAX_C_SUFFIX__)
# define UINTMAX_C(c) __int_c(x, __UINTMAX_C_SUFFIX__)
#else
# define INT64_C(x) __INT64_C(x)
# define UINT64_C(x) __UINT64_C(x)
# define INTMAX_C(c) __INTMAX_C(x)
# define UINTMAX_C(c) __UINTMAX_C(x)
#endif
typedef __UINTPTR_TYPE__ uintptr_t;
typedef __INTPTR_TYPE__ intptr_t;
@ -62,19 +88,19 @@ typedef __INTMAX_TYPE__ intmax_t;
#define INT8_MIN (-128)
#define INT16_MIN (-32767 - 1)
#define INT32_MIN (-2147483647 - 1)
#define INT64_MIN (-9223372036854775807LL - 1LL)
#define INT64_MIN (-INT64_C(9223372036854775807) - 1)
#define INT8_MAX (127)
#define INT16_MAX (32767)
#define INT32_MAX (2147483647)
#define INT64_MAX (9223372036854775807LL)
#define INT64_MAX (INT64_C(9223372036854775807))
#define UINT8_MAX (255)
#define UINT16_MAX (65535)
#define UINT32_MAX (4294967295U)
#define UINT64_MAX (18446744073709551615ULL)
#define UINT64_MAX (UINT64_C(18446744073709551615))
#define INTPTR_MAX INT32_MAX
#define INTPTR_MIN INT32_MIN
#define UINTPTR_MAX UINT32_MAX
#define INTPTR_MAX __INTPTR_MAX__
#define INTPTR_MIN (-INTPTR_MAX - 1)
#define UINTPTR_MAX __UINTPTR_MAX__
#define INT_FAST8_MIN INT8_MIN
#define INT_FAST16_MIN INT16_MIN
@ -106,21 +132,6 @@ typedef __INTMAX_TYPE__ intmax_t;
#define UINT_LEAST32_MAX UINT32_MAX
#define UINT_LEAST64_MAX UINT64_MAX
#define INT8_C(x) x
#define UINT8_C(x) x
#define INT16_C(x) x
#define UINT16_C(x) x
#define INT32_C(x) x
#define UINT32_C(x) x
#define INT64_C(x) x##LL
#define UINT64_C(x) x##ULL
#define INTMAX_C(c) c##LL
#define UINTMAX_C(c) c##ULL
#define SIZE_MAX ((size_t)-1)
#define PTRDIFF_MAX __PTRDIFF_MAX__