libc: Unify intmax_t and uintmax_t on AArch32/64
Conceptually, these are supposed to be the largest integers
representable in C, but GCC and Clang define them as long long for
compatibility.
Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
Change-Id: I7c0117f3be167342814d260a371889120dcf6576
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;