+2023-05-21 Bruno Haible <bruno@clisp.org>
+
+ limits-h tests: Check the value of SSIZE_MAX.
+ * tests/test-limits-h.c (limits12): New variable.
+ Include <sys/types.h> and check the value of SSIZE_MAX.
+ * modules/limits-h-tests (Depends-on): Add sys_types.
+
2023-05-21 Bruno Haible <bruno@clisp.org>
ssize_t: Fix replacement on 64-bit Windows.
static_assert (TYPE_MINIMUM (unsigned long long int) == 0);
static_assert (TYPE_MAXIMUM (unsigned long long int) == ULLONG_MAX);
+/* Specified by POSIX, not by ISO C. */
+
+long long limits12[] = { SSIZE_MAX };
+
/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */
verify_width (CHAR_WIDTH, CHAR_MIN, CHAR_MAX);
static_assert (0 < MB_LEN_MAX);
+/* Get ssize_t, size_t. */
+#include <sys/types.h>
+
+static_assert (TYPE_MAXIMUM (ssize_t) == SSIZE_MAX);
+/* Verify that ssize_t has the same width as size_t. */
+static_assert (TYPE_MAXIMUM (size_t) / 2 == SSIZE_MAX);
+
int
main (void)
{