summaryrefslogtreecommitdiff
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-master.tar.gz
stdint.h: derive limits from __LONG_MAX, use common fast16 typesHEADmaster
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