diff --git a/include/lib/libc/aarch32/stdint_.h b/include/lib/libc/aarch32/stdint_.h index 4f49485..def24aa 100644 --- a/include/lib/libc/aarch32/stdint_.h +++ b/include/lib/libc/aarch32/stdint_.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -111,6 +111,10 @@ typedef long intptr_t; typedef unsigned long uintptr_t; +/* + * Conceptually, these are supposed to be the largest integers representable in C, + * but GCC and Clang define them as long long for compatibility. + */ typedef long long intmax_t; typedef unsigned long long uintmax_t; diff --git a/include/lib/libc/aarch64/stdint_.h b/include/lib/libc/aarch64/stdint_.h index b17a435..25680bb 100644 --- a/include/lib/libc/aarch64/stdint_.h +++ b/include/lib/libc/aarch64/stdint_.h @@ -75,7 +75,7 @@ #define UINT32_C(x) x ## U #define UINT64_C(x) x ## ULL -#define INTMAX_C(x) x ## L +#define INTMAX_C(x) x ## LL #define UINTMAX_C(x) x ## ULL typedef signed char int8_t; @@ -111,8 +111,12 @@ typedef long intptr_t; typedef unsigned long uintptr_t; -typedef long intmax_t; -typedef unsigned long uintmax_t; +/* + * Conceptually, these are supposed to be the largest integers representable in C, + * but GCC and Clang define them as long long for compatibility. + */ +typedef long long intmax_t; +typedef unsigned long long uintmax_t; typedef long register_t; typedef unsigned long u_register_t;