commit 961a3d7074aabefaedb1e40867efaa1e22b183f7
parent c8f36b726296544661faacef1fe8532c152d0c01
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Sat, 5 Nov 2022 19:29:28 +0100
libc: Unify wchar limit definition
Diffstat:
19 files changed, 60 insertions(+), 33 deletions(-)
diff --git a/include/bits/amd64/arch/cdefs.h b/include/bits/amd64/arch/cdefs.h
@@ -43,3 +43,12 @@ typedef unsigned win_t;
#endif
#undef _NEED_WINT
#endif
+
+#ifdef _NEED_WCHARLIM
+#ifndef _WCHARLIM
+#define WCHAR_MAX 0x7FFFFFFF
+#define WCHAR_MIN 0
+#define _WCHARLIM
+#endif
+#undef _WCHARLIM
+#endif
diff --git a/include/bits/arm/arch/cdefs.h b/include/bits/arm/arch/cdefs.h
@@ -43,3 +43,12 @@ typedef unsigned win_t;
#endif
#undef _NEED_WINT
#endif
+
+#ifdef _NEED_WCHARLIM
+#ifndef _WCHARLIM
+#define WCHAR_MAX 0x7FFFFFFF
+#define WCHAR_MIN 0
+#define _WCHARLIM
+#endif
+#undef _WCHARLIM
+#endif
diff --git a/include/bits/arm64/arch/cdefs.h b/include/bits/arm64/arch/cdefs.h
@@ -43,3 +43,12 @@ typedef unsigned win_t;
#endif
#undef _NEED_WINT
#endif
+
+#ifdef _NEED_WCHARLIM
+#ifndef _WCHARLIM
+#define WCHAR_MAX 0x7FFFFFFF
+#define WCHAR_MIN 0
+#define _WCHARLIM
+#endif
+#undef _WCHARLIM
+#endif
diff --git a/include/bits/darwin/amd64/arch/stdint.h b/include/bits/darwin/amd64/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/dragonfly/amd64/arch/stdint.h b/include/bits/dragonfly/amd64/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/i386/arch/cdefs.h b/include/bits/i386/arch/cdefs.h
@@ -43,3 +43,12 @@ typedef unsigned win_t;
#endif
#undef _NEED_WINT
#endif
+
+#ifdef _NEED_WCHARLIM
+#ifndef _WCHARLIM
+#define WCHAR_MAX 0x7FFFFFFF
+#define WCHAR_MIN 0
+#define _WCHARLIM
+#endif
+#undef _WCHARLIM
+#endif
diff --git a/include/bits/i386/arch/stdint.h b/include/bits/i386/arch/stdint.h
@@ -70,9 +70,6 @@
#define SIZE_MAX UINT32_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/linux/amd64/arch/stdint.h b/include/bits/linux/amd64/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/linux/arm/arch/stdint.h b/include/bits/linux/arm/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT32_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/linux/arm64/arch/stdint.h b/include/bits/linux/arm64/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/linux/ppc/arch/stdint.h b/include/bits/linux/ppc/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT32_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/netbsd/amd64/arch/stdint.h b/include/bits/netbsd/amd64/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/openbsd/amd64/arch/stdint.h b/include/bits/openbsd/amd64/arch/stdint.h
@@ -62,9 +62,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT32_MIN
-#define WCHAR_MAX INT32_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x
diff --git a/include/bits/ppc/arch/cdefs.h b/include/bits/ppc/arch/cdefs.h
@@ -43,3 +43,12 @@ typedef unsigned win_t;
#endif
#undef _NEED_WINT
#endif
+
+#ifdef _NEED_WCHARLIM
+#ifndef _WCHARLIM
+#define WCHAR_MAX 0x7FFFFFFF
+#define WCHAR_MIN 0
+#define _WCHARLIM
+#endif
+#undef _WCHARLIM
+#endif
diff --git a/include/bits/z80/arch/cdefs.h b/include/bits/z80/arch/cdefs.h
@@ -43,3 +43,12 @@ typedef unsigned win_t;
#endif
#undef _NEED_WINT
#endif
+
+#ifdef _NEED_WCHARLIM
+#ifndef _WCHARLIM
+#define WCHAR_MAX 0x7FFF
+#define WCHAR_MIN 0
+#define _WCHARLIM
+#endif
+#undef _WCHARLIM
+#endif
diff --git a/include/bits/z80/arch/stdint.h b/include/bits/z80/arch/stdint.h
@@ -70,9 +70,6 @@
#define SIZE_MAX UINT64_MAX
-#define WCHAR_MIN INT16_MIN
-#define WCHAR_MAX INT16_MAX
-
#define INT8_C(x) x
#define INT16_C(x) x
#define INT32_C(x) x ## L
diff --git a/include/stdint.h b/include/stdint.h
@@ -1,6 +1,10 @@
#ifndef _STDINT_H_
#define _STDINT_H_
+#define _NEED_WCHARLIM
+#include <sys/cdefs.h>
+#include <arch/cdefs.h>
+
#include <arch/stdint.h>
#endif
diff --git a/include/wchar.h b/include/wchar.h
@@ -5,6 +5,7 @@
#define _NEED_SIZET
#define _NEED_WCHART
#define _NEED_WEOF
+#define _NEED_WCHARLIM
#include <sys/cdefs.h>
#include <arch/cdefs.h>
@@ -16,9 +17,6 @@ typedef int mbstate_t;
struct tm;
-/* #define WCHAR_MAX 1 */
-/* #define WCHAR_MIN 1 */
-
#ifdef _STDARG_H
extern int vswscanf(const wchar_t * restrict s, const wchar_t * restrict format, va_list arg);
extern int vwprintf(const wchar_t * restrict format, va_list arg);
diff --git a/src/cmd/cc/cc1/main.c b/src/cmd/cc/cc1/main.c
@@ -6,6 +6,7 @@
#include <scc/arg.h>
#include <scc/scc.h>
+
#include "cc1.h"
char *argv0;