about summary refs log tree commit diff
path: root/arch/generic
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2024-05-07 09:17:51 -0400
committerRich Felker <dalias@aerifal.cx>2024-05-07 09:17:51 -0400
commit2c124e13bd7941fe0b885eecdc5de6f09aacf06a (patch)
tree26cd045d0cee92f8643c818d736e7ac69dcb84af /arch/generic
parent7019fbe103165b9b26a9391d5ecd4c7fcb6f3ec9 (diff)
downloadmusl-2c124e13bd7941fe0b885eecdc5de6f09aacf06a.tar.gz
musl-2c124e13bd7941fe0b885eecdc5de6f09aacf06a.tar.xz
musl-2c124e13bd7941fe0b885eecdc5de6f09aacf06a.zip
stdint.h: derive limits from __LONG_MAX, use common fast16 types
the bits file is retained, but as a single generic version, to allow
for the unlikely future possibility of letting a new arch define
something differently.
Diffstat (limited to 'arch/generic')
-rw-r--r--arch/generic/bits/stdint.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/generic/bits/stdint.h b/arch/generic/bits/stdint.h
new file mode 100644
index 00000000..86489187
--- /dev/null
+++ b/arch/generic/bits/stdint.h
@@ -0,0 +1,29 @@
+typedef int32_t int_fast16_t;
+typedef int32_t int_fast32_t;
+typedef uint32_t uint_fast16_t;
+typedef uint32_t uint_fast32_t;
+
+#define INT_FAST16_MIN  INT32_MIN
+#define INT_FAST32_MIN  INT32_MIN
+
+#define INT_FAST16_MAX  INT32_MAX
+#define INT_FAST32_MAX  INT32_MAX
+
+#define UINT_FAST16_MAX UINT32_MAX
+#define UINT_FAST32_MAX UINT32_MAX
+
+#if __LONG_MAX == 0x7fffffffL
+#define INTPTR_MIN      INT32_MIN
+#define INTPTR_MAX      INT32_MAX
+#define UINTPTR_MAX     UINT32_MAX
+#define PTRDIFF_MIN     INT32_MIN
+#define PTRDIFF_MAX     INT32_MAX
+#define SIZE_MAX        UINT32_MAX
+#else
+#define INTPTR_MIN      INT64_MIN
+#define INTPTR_MAX      INT64_MAX
+#define UINTPTR_MAX     UINT64_MAX
+#define PTRDIFF_MIN     INT64_MIN
+#define PTRDIFF_MAX     INT64_MAX
+#define SIZE_MAX        UINT64_MAX
+#endif