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:
parent
4c0d868bb6
commit
23adb7449f
1 changed files with 32 additions and 21 deletions
|
@ -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__
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue