You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/06/03 19:25:56 UTC
[incubator-nuttx] 02/04: arch: Define WCHAR_[MIN|MAX] in arch/include/limits.h
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 11e1a8b28bcdc9590fa8f6e021e3682656a8cea7
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Mon May 30 19:55:52 2022 +0800
arch: Define WCHAR_[MIN|MAX] in arch/include/limits.h
follow up the below change:
commit 635752389226ad005f52524a933acf864c1a1f8d
Author: Xiang Xiao <xi...@xiaomi.com>
Date: Mon Nov 1 12:40:51 2021 +0800
arch: Add _wchar_t typedef like other basic types
Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
arch/arm/include/limits.h | 19 +++++++---
arch/avr/include/avr/limits.h | 19 +++++++---
arch/avr/include/avr32/limits.h | 19 +++++++---
arch/ceva/include/limits.h | 11 ++++++
arch/hc/include/hc12/limits.h | 19 +++++++---
arch/hc/include/hcs12/limits.h | 19 +++++++---
arch/mips/include/limits.h | 19 +++++++---
arch/misoc/include/limits.h | 19 +++++++---
arch/or1k/include/limits.h | 19 +++++++---
arch/renesas/include/m16c/limits.h | 19 +++++++---
arch/renesas/include/rx65n/limits.h | 19 +++++++---
arch/renesas/include/sh1/limits.h | 19 +++++++---
arch/renesas/include/sh1Plimits.h | 19 +++++++---
arch/risc-v/include/limits.h | 67 +++++++++++++++++++-----------------
arch/sim/include/limits.h | 19 +++++++---
arch/sparc/include/limits.h | 19 +++++++---
arch/x86/include/i486/limits.h | 19 +++++++---
arch/x86_64/include/intel64/limits.h | 19 +++++++---
arch/xtensa/include/limits.h | 19 +++++++---
arch/z16/include/limits.h | 19 +++++++---
arch/z80/include/ez80/limits.h | 33 ++++++++++++------
arch/z80/include/z180/limits.h | 19 +++++++---
arch/z80/include/z8/limits.h | 19 +++++++---
arch/z80/include/z80/limits.h | 19 +++++++---
include/wchar.h | 4 +--
25 files changed, 385 insertions(+), 129 deletions(-)
diff --git a/arch/arm/include/limits.h b/arch/arm/include/limits.h
index 64dacedfc8..f87e814fb5 100644
--- a/arch/arm/include/limits.h
+++ b/arch/arm/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_ARM_INCLUDE_LIMITS_H */
diff --git a/arch/avr/include/avr/limits.h b/arch/avr/include/avr/limits.h
index 31490ff699..3e52020f2b 100644
--- a/arch/avr/include/avr/limits.h
+++ b/arch/avr/include/avr/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -70,4 +70,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_AVR_INCLUDE_AVR_LIMITS_H */
diff --git a/arch/avr/include/avr32/limits.h b/arch/avr/include/avr32/limits.h
index 4288c3a47d..262fb21aa4 100644
--- a/arch/avr/include/avr32/limits.h
+++ b/arch/avr/include/avr32/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -70,4 +70,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_AVR_INCLUDE_AVR32_LIMITS_H */
diff --git a/arch/ceva/include/limits.h b/arch/ceva/include/limits.h
index e4b1b17637..42aa484075 100644
--- a/arch/ceva/include/limits.h
+++ b/arch/ceva/include/limits.h
@@ -37,4 +37,15 @@
#define PTR_MAX LONG_MAX
#define UPTR_MAX ULONG_MAX
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_CEVA_INCLUDE_LIMITS_H */
diff --git a/arch/hc/include/hc12/limits.h b/arch/hc/include/hc12/limits.h
index e0838a7716..7acd8fa607 100644
--- a/arch/hc/include/hc12/limits.h
+++ b/arch/hc/include/hc12/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -78,4 +78,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_HC_INCLUDE_HC12_LIMITS_H */
diff --git a/arch/hc/include/hcs12/limits.h b/arch/hc/include/hcs12/limits.h
index 349aeda34b..9436e1e368 100644
--- a/arch/hc/include/hcs12/limits.h
+++ b/arch/hc/include/hcs12/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -78,4 +78,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_HC_INCLUDE_HCS12_LIMITS_H */
diff --git a/arch/mips/include/limits.h b/arch/mips/include/limits.h
index b95720e3ee..9b9d5c39f9 100644
--- a/arch/mips/include/limits.h
+++ b/arch/mips/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_MIPS_INCLUDE_LIMITS_H */
diff --git a/arch/misoc/include/limits.h b/arch/misoc/include/limits.h
index 6c1315218c..1e6ad0b8da 100644
--- a/arch/misoc/include/limits.h
+++ b/arch/misoc/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -70,4 +70,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_MISOC_INCLUDE_LIMITS_H */
diff --git a/arch/or1k/include/limits.h b/arch/or1k/include/limits.h
index 44e439021a..95982025b6 100644
--- a/arch/or1k/include/limits.h
+++ b/arch/or1k/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_OR1K_INCLUDE_LIMITS_H */
diff --git a/arch/renesas/include/m16c/limits.h b/arch/renesas/include/m16c/limits.h
index 6114132044..69d7d2a23b 100644
--- a/arch/renesas/include/m16c/limits.h
+++ b/arch/renesas/include/m16c/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -70,4 +70,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_RENESAS_INCLUDE_M16C_LIMITS_H */
diff --git a/arch/renesas/include/rx65n/limits.h b/arch/renesas/include/rx65n/limits.h
index a72cd690fd..5c07140a81 100644
--- a/arch/renesas/include/rx65n/limits.h
+++ b/arch/renesas/include/rx65n/limits.h
@@ -33,11 +33,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -66,4 +66,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_RENESAS_INCLUDE_RX65N_LIMITS_H */
diff --git a/arch/renesas/include/sh1/limits.h b/arch/renesas/include/sh1/limits.h
index 980cb4f420..68cd6ab5a3 100644
--- a/arch/renesas/include/sh1/limits.h
+++ b/arch/renesas/include/sh1/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -70,4 +70,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_RENESAS_INCLUDE_SH1_LIMITS_H */
diff --git a/arch/renesas/include/sh1Plimits.h b/arch/renesas/include/sh1Plimits.h
index 6bdbbc09c6..bfd7de4ffa 100644
--- a/arch/renesas/include/sh1Plimits.h
+++ b/arch/renesas/include/sh1Plimits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -70,4 +70,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_RENESAS_INCLUDE_SH1_PLIMITS_H */
diff --git a/arch/risc-v/include/limits.h b/arch/risc-v/include/limits.h
index 06efa5434c..3c38398cd8 100644
--- a/arch/risc-v/include/limits.h
+++ b/arch/risc-v/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -54,38 +54,43 @@
/* These change on 32-bit and 64-bit platforms */
-#if defined(CONFIG_ARCH_RV32)
+#ifdef CONFIG_ARCH_RV32
+# define LONG_MIN (-LONG_MAX - 1)
+# define LONG_MAX 2147483647L
+# define ULONG_MAX 4294967295UL
-#define LONG_MIN (-LONG_MAX - 1)
-#define LONG_MAX 2147483647L
-#define ULONG_MAX 4294967295UL
-
-#define LLONG_MIN (-LLONG_MAX - 1)
-#define LLONG_MAX 9223372036854775807LL
-#define ULLONG_MAX 18446744073709551615ULL
+# define LLONG_MIN (-LLONG_MAX - 1)
+# define LLONG_MAX 9223372036854775807LL
+# define ULLONG_MAX 18446744073709551615ULL
/* A pointer is 4 bytes */
-#define PTR_MIN (-PTR_MAX - 1)
-#define PTR_MAX 2147483647
-#define UPTR_MAX 4294967295U
-
-#endif /* defined(CONFIG_ARCH_RV32) */
-
-#if defined(CONFIG_ARCH_RV64)
-
-#define LONG_MIN (-LONG_MAX - 1)
-#define LONG_MAX 9223372036854775807L
-#define ULONG_MAX 18446744073709551615UL
-
-#define LLONG_MIN (-LLONG_MAX - 1)
-#define LLONG_MAX 9223372036854775807LL
-#define ULLONG_MAX 18446744073709551615ULL
-
-#define PTR_MIN (-PTR_MAX - 1)
-#define PTR_MAX 9223372036854775807
-#define UPTR_MAX 18446744073709551615U
+# define PTR_MIN (-PTR_MAX - 1)
+# define PTR_MAX 2147483647
+# define UPTR_MAX 4294967295U
+#else /* CONFIG_ARCH_RV32 */
+# define LONG_MIN (-LONG_MAX - 1)
+# define LONG_MAX 9223372036854775807L
+# define ULONG_MAX 18446744073709551615UL
+
+# define LLONG_MIN (-LLONG_MAX - 1)
+# define LLONG_MAX 9223372036854775807LL
+# define ULLONG_MAX 18446744073709551615ULL
+
+# define PTR_MIN (-PTR_MAX - 1)
+# define PTR_MAX 9223372036854775807
+# define UPTR_MAX 18446744073709551615U
+#endif
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
#endif
#endif /* __ARCH_RISCV_INCLUDE_LIMITS_H */
diff --git a/arch/sim/include/limits.h b/arch/sim/include/limits.h
index 608675084f..cef045ce68 100644
--- a/arch/sim/include/limits.h
+++ b/arch/sim/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+#d efine CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -81,4 +81,15 @@
# define UPTR_MAX 4294967295U
#endif
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_SIM_INCLUDE_LIMITS_H */
diff --git a/arch/sparc/include/limits.h b/arch/sparc/include/limits.h
index 89c65dffbc..5aa9d91ab5 100644
--- a/arch/sparc/include/limits.h
+++ b/arch/sparc/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,5 +68,16 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_SPARC_INCLUDE_LIMITS_H */
diff --git a/arch/x86/include/i486/limits.h b/arch/x86/include/i486/limits.h
index 7ccf82bb5a..34b9f474a0 100644
--- a/arch/x86/include/i486/limits.h
+++ b/arch/x86/include/i486/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_X86_INCLUDE_I486_LIMITS_H */
diff --git a/arch/x86_64/include/intel64/limits.h b/arch/x86_64/include/intel64/limits.h
index ae7cdfc9de..75a64f227d 100644
--- a/arch/x86_64/include/intel64/limits.h
+++ b/arch/x86_64/include/intel64/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX LLONG_MAX
#define UPTR_MAX ULLONG_MAX
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_X86_64_INCLUDE_INTEL64_LIMITS_H */
diff --git a/arch/xtensa/include/limits.h b/arch/xtensa/include/limits.h
index 95f2e57705..2e3178e3cd 100644
--- a/arch/xtensa/include/limits.h
+++ b/arch/xtensa/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_XTENSA_INCLUDE_LIMITS_H */
diff --git a/arch/z16/include/limits.h b/arch/z16/include/limits.h
index 1e5163f9fa..9f39329716 100644
--- a/arch/z16/include/limits.h
+++ b/arch/z16/include/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -66,4 +66,15 @@
#define PTR_MAX 2147483647
#define UPTR_MAX 4294967295U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_Z16_INCLUDE_LIMITS_H */
diff --git a/arch/z80/include/ez80/limits.h b/arch/z80/include/ez80/limits.h
index 0be67d6fdc..9cd9dbade2 100644
--- a/arch/z80/include/ez80/limits.h
+++ b/arch/z80/include/ez80/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -67,17 +67,28 @@
#define PTR_MIN (-PTR_MAX - 1)
#ifdef CONFIG_EZ80_Z80MODE
-#define PTR_MAX 32767
-#define UPTR_MAX 65535U
+# define PTR_MAX 32767
+# define UPTR_MAX 65535U
#else
-#define PTR_MAX 8388607
-#define UPTR_MAX 16777215U
+# define PTR_MAX 8388607
+# define UPTR_MAX 16777215U
#endif
#ifdef __clang__
-#define LLONG_MIN (-LLONG_MAX - 1)
-#define LLONG_MAX 9223372036854775807LL
-#define ULLONG_MAX 18446744073709551615ULL
+# define LLONG_MIN (-LLONG_MAX - 1)
+# define LLONG_MAX 9223372036854775807LL
+# define ULLONG_MAX 18446744073709551615ULL
+#endif
+
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
#endif
#endif /* __ARCH_Z80_INCLUDE_EZ80_LIMITS_H */
diff --git a/arch/z80/include/z180/limits.h b/arch/z80/include/z180/limits.h
index 00f1ef4245..d811b13bdf 100644
--- a/arch/z80/include/z180/limits.h
+++ b/arch/z80/include/z180/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_Z80_INCLUDE_Z180_LIMITS_H */
diff --git a/arch/z80/include/z8/limits.h b/arch/z80/include/z8/limits.h
index ac4fdac26b..50c49bfaf7 100644
--- a/arch/z80/include/z8/limits.h
+++ b/arch/z80/include/z8/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -64,4 +64,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_Z80_INCLUDE_Z8_LIMITS_H */
diff --git a/arch/z80/include/z80/limits.h b/arch/z80/include/z80/limits.h
index 1beef85622..51e584ab64 100644
--- a/arch/z80/include/z80/limits.h
+++ b/arch/z80/include/z80/limits.h
@@ -37,11 +37,11 @@
/* These could be different on machines where char is unsigned */
#ifdef __CHAR_UNSIGNED__
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
#else
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
#endif
#define SHRT_MIN (-SHRT_MAX - 1)
@@ -68,4 +68,15 @@
#define PTR_MAX 32767
#define UPTR_MAX 65535U
+#if !defined(__WCHAR_TYPE__)
+# define WCHAR_MIN INT_MIN
+# define WCHAR_MAX INT_MAX
+#elif defined(__WCHAR_UNSIGNED__)
+# define WCHAR_MIN 0
+# define WCHAR_MAX __WCHAR_MAX__
+#else
+# define WCHAR_MIN (-__WCHAR_MAX__ - 1)
+# define WCHAR_MAX __WCHAR_MAX__
+#endif
+
#endif /* __ARCH_Z80_INCLUDE_Z80_LIMITS_H */
diff --git a/include/wchar.h b/include/wchar.h
index a61f36e78b..51b5415468 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -57,9 +57,7 @@
* Reference: Opengroup.org
*/
-#define WCHAR_MAX 0xffff
-#define WCHAR_MIN 0x0000
-#define WEOF ((wint_t)-1)
+#define WEOF ((wint_t)-1)
#define wcsftime_l(s, m, f, t, l) wcsftime(s, m, f, t)
#define wcscasecmp_l(s1, s2, l) wcscasecmp(s1, s2)